Case studies

The build, the mechanism, the number

Each one lists what was broken, what I built, and what moved. Where a client hasn't approved a figure yet, it's in brackets rather than invented.

Portfolio

Screens from real builds

Workflows, pipelines and sites I've shipped. Client names and figures are blurred or left out where the work is still under agreement.

Plumbing company website with a request a service form, review badges and service cards

Web build

Plumbing company site with dispatch routing

The service form writes straight into the pipeline and texts the on-call dispatcher. Emergency requests skip the queue and ring the phone.

Fence repair company website with a quote form, service area map and case study carousel

Web build

Fence repair quote intake

Service type on the form sets the tag, and the tag picks which estimator gets the lead. Quotes that go quiet get chased for nine days.

Pressure washing company website with hero booking buttons, testimonials and a service checklist contact form

Web build

Pressure washing booking site

Checkbox services on the form become tags, so the follow-up sequence only talks about the job the homeowner actually asked for.

Snow removal company website with a seasonal hero, contact form and blog section

Web build

Seasonal snow removal pipeline

Last winter's contacts get re-activated in October by a tag, not a memory. New enquiries route by postcode to the nearest crew.

Digital marketing agency website with a free SEO audit offer, portfolio grid and revenue metrics

Web build

Agency site with audit request funnel

Audit requests create the opportunity, book the call and start a reminder sequence so no-shows get one more chance to rebook.

Luxury real estate advisory website with a property search, curated listings and a consultation booking section

Web build

Property advisory with enquiry routing

Each listing enquiry carries the property and price band as tags, so the advisor sees budget before they pick up the phone.

Non-profit website with donation call to action, campaign programme cards and an events list

Web build

Donor and volunteer intake for a non-profit

Donors and volunteers go into separate pipelines. Donors get a receipt and a quarterly update, volunteers get a rota confirmation.

Dark themed request form with name, email, phone and project details fields

Funnel build

Single-question request form

Four fields, nothing else. Form abandonment dropped once the long qualifying questions moved to the confirmation page instead.

Travel booking mobile app screens showing search, recommended stays and a booking landing screen

Product build

Travel booking app screens

Abandoned searches trigger a push and an email two hours later with the same dates already filled in.

Mobile app sign in, verification code and password creation screens for a food ordering product

Product build

Sign-in and verification flow

Signups that stall at the code screen get one SMS nudge, then drop out of the sequence. No badgering people who changed their mind.

GoHighLevel workflow: a 7-day missed-call SMS drip for a gym, with a wait step between each daily message

GoHighLevel workflow

7-day missed-call SMS drip for a gym

A missed call starts a seven-message sequence, one a day, until the lead replies or books a trial session.

GoHighLevel workflow splitting a plumber outreach list into four SMS variants, each with drip mode, tagging and wait steps

GoHighLevel workflow

Split-tested cold SMS for plumbers

One list split four ways so each message variant is tagged and measured. Drip mode keeps sending within carrier limits.

GoHighLevel workflow triggered by a contact form: create or update the contact record, then send a confirmation email

GoHighLevel workflow

Form submission into a 3-day follow-up

The form writes the contact record, sends the confirmation, alerts the owner and runs three days of follow-up.

GoHighLevel builder showing a Form Submitted trigger feeding an internal notification and a wait step

GoHighLevel workflow

Internal alert the second a form lands

Nobody refreshes an inbox. The submission pings the on-call phone first, then the timed follow-up takes over.

Multi-page property investment website with home, about, deals and contact pages built in GoHighLevel

Funnel build

Property investment funnel

Home, about, deals and contact pages with the enquiry form wired to the pipeline and a booking link on every page.

Zapier workflow that filters inbound Gmail leads, classifies them with AI and creates a lead record

Automation build

Inbound email triage into the CRM

Spam filter, AI classification, then two paths: project bids create a lead, everything else gets tagged and logged.

n8n canvas fanning one trigger out to Slack, Sheets, Telegram, Discord, Zendesk, Jira and Mailchimp

Automation build

One trigger, seven systems updated

A single form submission alerts the team, logs the row, opens the ticket and adds the contact to the drip sequence.

CRM dashboard showing pipeline stages Contacted, Negotiation, Offer sent and Deal closed with lead source charts

CRM setup

Pipeline and reporting dashboard

Named pipeline stages, owner on every card, and lead source split so you can see which channel actually pays.

Email campaign builder with send-timing rules alongside a campaign report showing sends, opens and clicks

Drip sequences

Follow-up that sends itself

Trigger rules, timing and content set once, with open and click reporting so the copy can be fixed on evidence.

Website design for a children's learning centre with hero, course cards and enquiry footer

WordPress build

Learning centre site rebuild

Enquiry forms wired straight into the CRM, so a parent filling the form starts the follow-up sequence immediately.

n8n canvas where a Notion database feeds an AI agent that updates the CRM and sends a Telegram message

Automation build

AI agent that updates the CRM itself

New rows come in, the agent reads them, writes the CRM record and pings the owner on Telegram. No copy-paste in between.

Automation canvas with a start node branching to a writing agent, a Gmail agent and a Slack notification node

Automation build

Reply drafting agent with a Slack handoff

One trigger drafts the email, sends it from Gmail and drops a Slack note so someone can step in before it goes cold.

Automation dashboard showing workflow nodes for data collection, validation and output alongside performance metrics

Reporting build

Workflow dashboard with run stats

Every step reports its own counts, so a broken automation shows up as a number rather than a lead that never called back.

Automation builder with a database connection panel showing HTTP method, URL, query fields and an authentication error

Integration work

Webhook into the client's database

POST endpoint, mapped fields and credential checks. Most of this job is catching the auth failure before the client does.

Real estate website design with hero listing, stats section and FAQ accordion

Web build

Estate agency site with enquiry routing

Listings, stats and an FAQ block. Every enquiry form drops into the pipeline tagged with the property it came from.

Gym website design with bold hero typography, class cards and member testimonials

Web build

Gym site wired to the trial booking flow

Class pages and testimonials up front, with the trial form starting the missed-call and reminder sequences behind it.

Surf school website design with hero photography, package cards and a booking call to action

Web build

Surf school packages and bookings

Package cards feed one booking form, and each package tag routes the lead into its own follow-up sequence.

Multi-page HVAC company website showing service pages, pricing tables and technician profiles

Web build

HVAC site with quote requests into the pipeline

Service pages, pricing and technician bios. A quote request creates the lead and fires the callback reminder the same minute.

Driving school website shown on desktop, tablet and phone with a booking form and pricing plans

Web build

Driving school booking and reminders

Lesson plans, a booking form and SMS reminders before each session, which is what cut the no-shows for this one.

Nutrition and dietetics website with hero, programme cards and a find-a-dietitian section

Web build

Nutrition clinic intake and follow-up

Intake form writes straight to the CRM, tags the programme they picked, then runs the consult confirmation sequence.

Dental clinic website with appointment booking hero, treatment cards and specialist profiles

Web build

Dental clinic booking and recall reminders

Appointment form writes the patient record, then the recall sequence chases the six-month checkup without anyone remembering to.

Landscaping and garden centre website with quote form in the hero and a three-step work process section

Web build

Landscaping quote form into the pipeline

Quote request sits in the hero, tags the service type, and routes the lead to whoever covers that area.

Roofing company website with inspection booking form, service cards and FAQ section

Web build

Roofing inspection booking flow

Commercial, residential and custom split at the form, so each job type lands in its own pipeline with its own follow-up.

Child care centre website with programme cards, testimonials and a call-back request button

Web build

Child care enquiry and call-back requests

Parents ask for a call back, the request pings the phone straight away and logs the tour date once it's set.

HVAC company website with a free quote hero, service ticker and emergency support callouts

Web build

HVAC quote requests with emergency routing

Emergency jobs skip the queue and text the on-call tech. Everything else goes into the standard callback sequence.

E-learning platform website with course cards, tutor profiles and an FAQ section

Web build

Course platform enquiry and onboarding

Enrolment form tags the course, sends the welcome sequence and reminds anyone who abandoned the form halfway.

Sales dashboard showing customers, revenue, orders and returns with product sales charts by category and country

Reporting build

Revenue dashboard pulled from the CRM

Orders, returns and margin in one view, refreshed from the pipeline so the numbers match what the CRM actually holds.

Minimal leather goods store website with product photography and a contact footer

Web build

Leather goods store with abandoned cart flow

Product pages feed one checkout, and an abandoned cart trigger sends two reminders before the lead goes quiet.

Fashion label website with large type hero, collection grid and product listings

Web build

Seasonal collection launch site

Launch page collects emails before the drop, then the list gets one send on launch day and one reminder at close.

Black and white fashion brand website with editorial photography, campaign pages and newsletter signup

Web build

Editorial brand site with newsletter capture

Newsletter signup sits in the footer of every page and tags the subscriber with the campaign they came in on.

Next step

Tell me where leads are leaking

A 30-minute call. I map your current follow-up, point at the gaps, and tell you what I'd build first. If it isn't a fit, I'll say so on the call.