Things I've shipped. Not concepts, not decks – live products with real users, real phone numbers, and real production problems. These are my own builds: the independent strand of a 15-year product career, not the whole of it. Each one taught me something I couldn't have learned any other way.
Trades businesses lose jobs every day to missed calls. A plumber under a sink can't answer the phone, and the customer with a flooded basement calls the next name on the list. Answering services are expensive and generic; voicemail loses the job.
Greet is a 24/7 AI voice receptionist built for plumbing, HVAC, and electrical businesses. It answers every call, handles emergency triage, routes on-call alerts, and books the job – in the trade's own language.
Built solo, end to end – Vapi, Twilio, Make, and Stripe are in the mix, alongside the conversation design, prompt architecture, and emergency escalation logic that took real iteration to get right. Four fully functional trade-specific agents in production, each with live phone numbers. The full recipe stays in-house – that's part of the product.
Voice AI in production is a different sport from voice AI in a demo. Tool-calling reliability, latency budgets, international number provisioning, and model-cost tradeoffs all showed up as real product decisions with real consequences. I write about these on the Writing page.
Enterprise pilot with a multi-trade contractor in deployment, negotiated through a phased proposal covering supervised rollout and usage terms. Onboarding is now open for independent and smaller trades businesses too – setup takes days, not months.
greetassistant.com →Enter any subreddit. Pain Miner scrapes live threads in real time – real posts from real users, not what a chatbot half-remembers – and synthesizes them into a structured brief: the three biggest pain points, the three things users wish existed, and the three most useful insights about who's serving that market today. Product discovery that starts with evidence instead of assumptions. Building it set the bar that every tool since has had to clear: the data pipeline is the product.
try it live →Type any app's name. GapMiner pulls its live App Store reviews – as they're written, not from stale training data – and mines them into the same structured brief: what users are angriest about, what they're begging for, and where the openings are before you build. Competitive analysis in an afternoon instead of a week. Shipping it taught me how infrastructure compounds: the second miner took days, not weeks, because the first one had already solved the hard problems.
try it live →"That wasn't in the scope" is the hardest email in freelancing – I've weighed it from both sides of the agency table. OutOfScope drafts it well: pick the situation, pick the tone, get a professional email and a change order ready to send in 60 seconds. Built because scope creep kills more projects than bad ideas do – and it taught me that the sharpest tools come from problems you've personally paid for.
try it live →Tell it the occasion and the relationship; it tells you how much to give, what to write in the card, and what to bring instead. The smallest build here – and my personal favourite: the one I actually reach for every time an invitation shows up.
try it live →More tools in progress. Have an idea for a tool I should build – or one you'd want built for you? Send it to me.