The problem
Local businesses miss calls while they are busy serving customers. A missed call is often a missed booking, because the caller rings the next business on the list.
The owners who feel this most do not want another complicated tool. The value had to be obvious from the first missed call, and the dashboard had to show what happened at a glance.
What I built
- The dashboard where owners see each missed call and what happened next.
- Authentication so each business signs in to its own account.
- Twilio integration that detects a missed call and starts the AI follow-up.
- Resend integration for transactional email.
The flow, step by step
- A call to the business goes unanswered.
- Velocity detects the missed call through Twilio.
- The AI follows up with the caller.
- The conversation moves towards a booked appointment.
- The owner sees the result in the dashboard.
Key technical decisions
One job, done well
Every feature had to help recover a missed call or book an appointment. Anything else waited. That rule kept the first version small enough to ship and easy to explain.
Telephony events on the server
Twilio events arrive at a Node.js backend, which decides what to do and triggers the follow-up. The Next.js front end only shows results, so call handling never depends on anyone having the dashboard open.
A dashboard for non-technical owners
The dashboard shows outcomes, not settings: which calls were missed, which callers got a follow-up and which booked. Owners should understand it without training.
Stack
- Next.js and React for the dashboard.
- Node.js for the backend that handles call events.
- Twilio for missed-call detection.
- Resend for email.
Outcome
- Live at velocity-ai.site.
- Dashboard, auth, and Twilio and Resend integrations built and shipped.
- A product I co-founded, so I own the product decisions as well as the code.
If you want something similar for your business, see my AI developer service or full stack development service.