How It Works
Phone rings. Job appears. Tech rolls.
No magic. Just a clean pipeline of well-known tools wired together. Here’s every component, what it does, and why we picked it.
The 7-second flow
- 1
Customer dials your business number
0 msThey use your normal published phone number. You forward it to your dedicated BeMyCrew Twilio line via *21* on most carriers.
- 2
Twilio receives the call
+200 msTwilio is the underlying telecom carrier. It hits our /api/voice/inbound webhook with the caller ID and TwiML.
- 3
BeMyCrew greets the caller
+800 msElevenLabs synthesizes your custom greeting in your selected voice (Rachel, Adam, Daniel, Charlotte, etc.) and Twilio plays it.
- 4
AI conversation
+2-30 secClaude (Anthropic) drives a natural conversation through the script: name, address, issue, urgency. Detects emergencies with a keyword + intent classifier.
- 5
Job appears on the dispatch board
+3 sec after hangupFirestore writes the new job. The dispatcher’s Next.js app subscribes to the collection via onSnapshot and renders the card live.
- 6
Smart dispatch matches a tech
+5 secClaude scores each available technician by skill, location, and current workload. The top match gets a one-tap suggestion.
- 7
Tech gets the job in their pocket
instantThe technician’s mobile PWA receives the job via Firestore, plus an SMS via Twilio with directions, customer name, and the issue.
The actual stack
Telephony
Twilio
Numbers, voice webhooks, SMS.
AI conversation
Anthropic Claude
The model that drives the call script.
Voice synthesis
ElevenLabs
Natural-sounding voices that don’t feel robotic.
Database
Firebase Firestore
Realtime sync for dispatch board and tech portal.
Auth
Firebase Auth
Email/password, Google, anonymous — standard, free.
Hosting
Vercel
Next.js app hosted on Vercel’s edge network.
Frontend framework
Next.js 14 + React
App Router, RSC, server actions — industry standard.
Styling
Tailwind CSS
Fast iteration, no design system overhead.
Maps
Leaflet + Mapbox tiles
Free, open source, good enough for dispatch.
Resend
Transactional email — booking confirmations, receipts.
Payments
Stripe
Optional. Only if you accept card payments from customers.
License
MIT
Use it, fork it, ship it. We don’t care.
Why it’s $5-15/mo and not $500
Field service software like ServiceTitan charges $400-500/month per seat. They built their own data center, sales team, marketing team, customer success team, and shareholder returns into the price.
BeMyCrew is open source. There’s no sales team, no per-seat license, no shareholder margin. The actual cost of running an AI receptionist for a small shop is <$15/mo: Twilio number ($1), call minutes ($2-5), ElevenLabs voice ($5-9). That’s it.
You pay those providers directly. We don’t see your card. We don’t mark anything up. That’s the entire pricing model.