Jessica AI
AI voice employee for home-service businesses
What I built
Jessica is an AI voice employee for small home-service businesses. She catches the calls an owner misses and turns them into booked jobs — sold on a pay-only-when-she-books-a-job model, so the owner takes zero risk to say yes. She starts as the business's receptionist on a personalized demo call, closes the owner on a trial, then stays on to run the day-to-day: missed-call recovery, customer follow-ups, reviews, and seasonal outreach.
I designed and built the whole system end to end — the voice agent, the telephony, the personalization pipeline, the automation core, and the pricing and go-to-market model behind it.
Missed calls are daily, direct lost revenue
Small home-service businesses — HVAC shops, plumbers, electricians running a few trucks — lose real money every day to one thing they can't fix: they miss calls. The owner is under a house or on a roof, the phone rings, no one answers, and the caller dials the next company. For a trade where a single job is worth thousands, that unanswered ring is direct, daily lost revenue.
The usual "fixes" don't land. Hiring a receptionist costs $3,000–$4,000 a month plus training and turnover; the $49 AI-receptionist apps ask a non-technical owner to configure software they don't trust and won't maintain. Both leave the bleed open.
One voice, three jobs
Jessica isn't one thing — she evolves across the whole relationship. Same voice, three jobs:
How the software connects
Everything runs on one engine — the same tools handle two situations: a sales demo (someone signs up) and a live missed call (a real customer). Here's how the software connects.
Same engine, two triggers — nothing is duplicated. Think of Make.com as the wiring that connects everything, and Airtable as Jessica's memory.
The Reverse Demo — earning trust before the pitch
So I built the demo around a reverse-demo approach — letting the prospect experience the product before hearing a word of sales. An owner submits their name, business, and website; within 60 seconds Jessica calls them and answers as their own receptionist, greeting them by their real business name. She fields the call as if the owner were a customer, books a realistic appointment using genuine knowledge of their business, and only then reveals she's AI.
Letting a buyer experience a product before selling to them isn't a new idea — the hard part, and the part I'm proud of, was engineering one that actually works: personalized to their business, in under a minute, fully automated. By the time the reveal lands, "I don't believe it works" is already dead — they just watched it work on themselves. The sale moves from "convince me" to "how do I get this."
How I think — four decisions
Each of these removes a specific reason a buyer would walk — and each is a judgment call, not a wiring task.
Personalization at scale
The demo only works if Jessica truly knows the business — but hand-researching each prospect doesn't scale. A Cloudflare Worker scrapes their site, a Claude API call writes a tailored briefing (services, area, tone), and it injects into her prompt before the call. Hand-built intimacy at automated speed, no human in the loop.
Pay-per-booked-job — a pricing decision as a moat
Price is where demos stall. I repositioned the offer around outcome, not access: the owner pays only when Jessica books a confirmed job. A missed call is a logged, timestamped event on a number the caller never reached, so attribution is airtight. It removes 100% of buyer risk, reframes the comparison against a $3,500/mo hire instead of a $49 app, and it's the one thing subscription-SaaS competitors structurally can't copy.
The missed-call trigger — solving the last mile
Software can only recover a missed call if the call routes through infrastructure I control — without changing the number customers already know. I solved it with conditional call-forwarding (forward only on no-answer to a Twilio number I control) and mapped the carrier activation codes into a lookup table for a guided ~5-minute setup. Goes live the same day, reversible and testable on a real phone.
One engine, swappable modules
The naive way to serve many clients is to clone the system — which collapses by the tenth client. Instead: one assistant, one database, one automation core, with a switchboard that identifies the client by the number dialed and loads the right module. Adding a client is adding a row; a new service is checking a box. I built it to scale before it needed to.
Beyond the demo — Jessica as a full employee
The demo is just the front door. Once an owner signs on, Jessica is designed to run as their around-the-clock voice employee. This is the roadmap I architected — some pieces live, some in development:
Missed-call recovery
Answers the calls they miss and books the job, 24/7 — the core of the live service.
Command center
The owner can call or text Jessica to push out a special, or ask for live numbers — jobs on the board, last month's sales — like a voice dashboard for their business.
Follow-ups & reviews
After a completed job she follows up, confirms they're happy, and asks for a Google review with the link — automatically.
Referral engine
Introduces a referral offer at the right moment to turn happy customers into new ones.
Seasonal outreach
Reaches the past-customer list for tune-ups each season, filling the slow months.
Learns the business
Standing instructions accumulate, so she gets smarter and more tailored the longer she works.
The stack I integrated
| Layer | Technology | What it does |
|---|---|---|
| Voice AI | Vapi + ElevenLabs | Reverse demo, mode-switching sales close, live recovery |
| Personalization | Cloudflare Worker + Claude API | Scrapes each site, auto-writes a tailored briefing per call |
| Orchestration | Make.com | Routes events, identifies the client, assembles the prompt, logs outcomes |
| Telephony | Twilio | Catches unanswered calls via conditional forwarding; SMS + callbacks |
| Data | Airtable | The switchboard — clients, modules, leads, clean-attribution call logs |
| Front door | Netlify landing page | Captures the submission that fires the 60-second reverse demo |
Capabilities this project built
Building Jessica took me from idea to a working voice system entirely solo, and it developed real, transferable skills: designing and prompt-engineering a mode-switching voice agent (Vapi + ElevenLabs); wiring live telephony with conditional call-forwarding and A2P 10DLC / CNAM compliance (Twilio); orchestrating multi-step, event-driven automations across services (Make.com, webhooks, Cloudflare Workers, the Claude API); and modeling the data and attribution logic in Airtable. Just as important, it sharpened the product instincts I already had — pricing, positioning, and designing a buying experience that removes objections.
Where it stands
Jessica is a working demonstration, built solo and part-time, with the personalized reverse-demo path and live missed-call recovery running end to end; additional employee modules are in active development.