Tinylawn: an AI receptionist in production.
Tinylawn answers phone calls for landscaping, lawn care, pest control, and other outdoor service businesses across the US. I designed and built the voice agent, its integrations, and the practices for running it with real customers.
| Lead flow | Tens of thousands of dollars per month |
|---|---|
| Customers | Small businesses across the US |
| Response time | Under one second |
| Voice stack | LiveKit |
| Languages | English and Spanish |
| My role | Design and engineering |
What it does.
Features match Tinylawn’s public site; figures come from its operations.
- Answers calls when the team is busy, away, or after hours, instead of sending callers to voicemail.
- Captures the caller’s address, job type, urgency, and timing, and alerts the business by text, email, or push.
- Checks open times and saves a requested appointment for the business to confirm.
- Recognizes returning callers and pulls up their property and past requests.
- Keeps a recording and transcript of every call, and can send new leads to tools like Jobber and Housecall Pro through Zapier.
Design decisions that carry over.
The choices that keep Tinylawn useful and in bounds are the same ones I bring to client systems.
| In Tinylawn | In your project |
|---|---|
| It answers only from business information the owner approves, and takes a detailed message when a question falls outside it. | Grounding and scope limits: the same pattern behind assistants that answer from approved sources. |
| Requested appointments are saved for the business to confirm, rather than booked blindly. | Human approval on actions with real consequences. |
| It suggests new answers based on real calls, and changes only after the owner approves them. | Improvement driven by real cases, with a person deciding what changes. |
| Every call keeps a recording and transcript, and new leads can flow to field-service and CRM tools. | Traceable behavior and integration with the systems a business already runs. |
How a call flows.
The same agent block used across this site, wired for a phone call: caller context in, availability checked, a booking request out, and a handoff when a person is needed. Built on LiveKit, it responds in under a second.