I’m building a web-based service that lets both everyday users and business clients confirm their phone numbers through a one-time password sent by SMS. The goal is a reliable, self-serve platform where a visitor enters a number, receives an OTP within seconds, submits it, and is instantly verified. Core scope • End-to-end OTP workflow: generate codes, send via SMS, auto-expire, and match user input. • Global SMS delivery with fallback logic so messages reach carriers worldwide. • Simple, responsive UI for individual users plus an admin/business dashboard that shows verification logs, delivery status, and basic analytics. • REST/JSON API so third-party sites or mobile apps can trigger verifications from their own products. • Secure codebase: rate limiting, encryption at rest for logs, GDPR-ready data retention controls. I’m open to the mainstream SMS gateways—Twilio, Nexmo/Vonage, MessageBird, AWS SNS—as long as delivery speed and cost stay competitive; feel free to propose the stack you’re most comfortable with. The front end can be React, Vue, or similar, and a lightweight back end in Node, Python (Django/FastAPI), or PHP Laravel is all fine so long as it’s well-documented. Deliverables 1. Source code in a public or private repo with clear README. 2. Live staging link for testing. 3. Postman collection (or equivalent) demonstrating every API endpoint. 4. Brief hand-off guide covering environment variables, SMS provider setup, and deployment steps. If you’ve shipped an OTP system before, show me a demo or repo link and we can move quickly.