Nothing ships without a plan first. KD <15, real search volume, intent mapped before URL structure is decided. Then a blog calendar that stacks supporting content behind the core pages.
Three home services brands in Ireland, built solo. A custom CRM, a voice first workflow and a stack of automations that keep the whole thing moving while I'm flying drones for a living. What's below is a snapshot. There's more I just can't fit on one page.
Before I touch a page of code or write a line of copy, every brand starts as a keyword map. Primary keywords, difficulty scores, search volumes, intent classification and a publishing calendar. The rankings and traffic shown in the next section come directly from these plans.
Nothing ships without a plan first. KD <15, real search volume, intent mapped before URL structure is decided. Then a blog calendar that stacks supporting content behind the core pages.
Every lead comes through search. No paid spend. The numbers below are pulled straight from Google Search Console for the last 90 days.
A library of workflows powering the brands. Lead intake, call handling, WhatsApp logging, email routing, system health checks four times a day. All running on a Hetzner server I manage myself.
Built using Claude Code with Supabase as the database. The pipeline matches how the job actually flows: New Lead, Contacted, Quoted, Measurement Booked, Glass Ordered, Completed.
Keeps track of leads, quotes, deposits and balances, reviews, follow-ups, contractors, calendar, photos and analytics. WhatsApp and SMS built in. Self hosted on Hetzner. Runs the whole business end to end.
Every customer call on my VoIP line gets recorded, transcribed by Whisper, summarised by Claude and written into the right customer record automatically.
Built and deployed on my own server. Sorts new leads, drafts customer messages, sends me daily briefings. Connected to Gmail, Trello, Supabase and Google Calendar through Composio.
I set it up like a new employee. Gave it its own Gmail, its own WhatsApp number, its own access to the tools it needs. Nothing sensitive sits on my personal accounts.
You don't want to release an agent too early. That's how you get leaks or mistakes on the customer side, which you really don't want.
Read only first. For about a month it could read my WhatsApp conversations with clients but couldn't send anything.
Drafting next. It would write messages, I'd approve or edit them and it learned off my edits.
Autonomous when ready. Once the drafts were consistently good, I gave it the ability to actually send. Now it handles full conversations with customers.
Still developing it. Long term project.
A few layers of customer facing quote tooling, all built from scratch. Online booking forms that qualify the lead and hand me everything I need to quote back. Two fully branded online quote proposals customers can review and approve. All feed into the same CRM and n8n pipeline.
Booking form → lead qualified → unique customer quote page → branded approval document. One CRM record, one pipeline, four customer touchpoints.
Some bits are limited in the demo on purpose. In live use real customer data is pulled straight from the CRM. Real customer quotes aren't publicly linked.
Local SEO matters more than web SEO in home services. These are the customer interaction numbers for each brand's GBP, November 2025 through April 2026.
I stopped typing a few months ago. I switched to a program called Wispr Flow, a dictation tool that transcribes your voice straight into whatever app you're in. Usually you hold two keyboard buttons to activate it, but I mapped the shortcut to my mouse buttons so I don't touch the keyboard at all.
I'd tried a few dictation programs before and never stuck to any of them. This one is very accurate. I also bought a good quality microphone so the input is cleaner, which means even fewer errors. Mouse shortcut plus good mic, it almost never gets a word wrong.
One of the best things I've set up. Pushed me to scale further and get a lot more work done than before.