Growth marketing platform
A growth service for trade businesses like plumbers, electricians and builders. It brings in local enquiries, then makes sure every one gets a fast reply and a follow-up.
Visit Live Site
Trade business owners spend the day on site, so calls get missed and quotes go quiet. The first business to reply usually wins the job.

Pages are built to show up on Google Maps and in AI assistants, and ads target people nearby who are ready to hire. The aim is real enquiries, not casual browsers.

Visitors can book a call, send a message or fill in a form without leaving the page. Pages load quickly on a phone, where most trade customers are browsing.

A profit calculator, a business health score and more show owners where money is slipping away. Each tool turns a visitor into a possible enquiry.
Missed calls get a text back within seconds, so the customer hears back before they ring a competitor.
Unanswered quotes are chased automatically, and calls are booked straight into the calendar.
One dashboard shows leads, quotes and messages, with real numbers on calls booked and profit from ads.
Stack, architecture and how it is built.
A tradie on a roof cannot answer the phone. Their number diverts to a Twilio line that hits a webhook here: the request is verified against Twilio's signature, the call is logged with whatever caller data the carrier passed through, and the customer gets an SMS back within seconds. Carrier quirks are handled explicitly: ForwardedFrom arrives empty on most mobile diverts, so the flow never depends on it.
Discovery calls are booked straight off the marketing site. The availability engine pulls busy intervals from Google Calendar, generates slots against a working schedule, drops anything inside a buffer around an existing event, and refuses to offer a slot starting less than an hour from now. Timezone arithmetic is done in a dedicated module rather than scattered through the UI.
The free toolkit (business health score, profit calculator, trade AI writer, speed-to-lead calculator) is the top of the funnel. The AI endpoints run through OpenRouter, ask for structured JSON, and fall back cleanly when the model returns prose instead. Every public endpoint sits behind a fixed-window rate limiter so a toolkit page cannot turn into an open bill.
Sessions are a signed cookie: expiry plus an HMAC, written with Web Crypto so the same verification code runs at the edge proxy and inside server actions. No session table to keep in sync.