GetPhantom

One owner-led service business, three years in use

A website, contact system, staff workflow and customer follow-up built as one system.

The business has a team, consultations, deposits, multi-step client work and repeat visits. Its website, forms, conversations, calendar, payments, staff tasks and customer follow-up used to require people to carry information between systems. I built the missing connections and business rules, then kept extending them as the operation changed.

The business name and industry are withheld. The workflows and figures are real, taken from the systems in use.

One owner-led service business. The figures below describe this implementation, not a forecast for every client.

Each tool worked on its own, while the handoffs still depended on people.

Enquiries arrived through calls, forms and social messages. Appointments lived in a calendar, payments in the till, client details in the CRM, and several staff members handled different parts of the work. Each tool could do its own job, but the next action still depended on somebody noticing a change and carrying the information across.

The pieces run as one system the owner can rely on

Every source feeds into one shared system, which applies the business's own rules and decides what happens next, whether that is a customer-record update, a staff task, a customer message or a report.

Sources
One shared system
Business rules
CRMStaff queueCustomer messagesReports

What changed for the owner

Before, the owner (or a staff member) had to notice a change in one tool and carry it into the others by hand. Now every source feeds one shared layer, and the system itself decides what happens next.

On top of that shared layer, six connected systems run the day-to-day operation:

A custom website and CMS, owned outright, with every form feeding straight into the system, never lost.

A lead response system with a median first reply under 6 minutes, so an enquiry never goes cold.

Deposit, no-show and follow-up handling that reacts to what actually happened with a booking, not a fixed timer.

A review system that took reviews from 27 a year to 249, answering ~70% of them itself.

A loyalty program with delayed activation, an expiry reminder and an audit trail, so it can't become a standing discount.

Reporting and reliability built in: a monthly report for the owner, and an alert instead of a silent failure.

Technical implementation
GoHighLeveln8nTrigger.devSupabasePostgreSQLNext.jsOpenAIand other APIs

Customer journey and intake

A custom website, built and owned outright

A custom CMS and admin dashboard for day-to-day edits

Pages, sections, blog, media library and navigation, all editable

Image processing built into the upload path

Booking, consent, intake and feedback forms

Every form sends its details straight into the system, with email as a backup, so a submission is never lost

The basics search engines need to find and understand every page: titles, descriptions and a sitemap

Lead response and after-hours handoff

Every enquiry is matched to the same contact, and where it first came from is kept on record

One queue for new work, so nothing sits unassigned

A customer's status only moves forward, never slips back to an earlier step by mistake

After-hours acknowledgement while the business is closed

Stale-enquiry detection, so an enquiry doesn't quietly go cold

Conversation-aware human tasks, read from the real thread

Daily and morning briefs for the team

What the staff stopped doing by hand

Nobody has to remember to chase an enquiry that's gone quiet, or notice a missed call after hours. One queue holds the new work, and it only ever moves forward.

Deposits, no-shows and follow-up

Consultation follow-up when a consult never became a booking

Deposit checking against the calendar and the till

No-show recovery with a rebooking message

Pre-service email based on the actual booking

The system waits, then double-checks nothing changed right before it actually sends

Cancellation and time-window conditions that stop a send outright

Aftercare triggered once a visit is paid for and closed out, matched to the type of service

Contacts who've unsubscribed or have no phone number on file are recognized and never messaged by mistake

What the customer noticed

The pre-service email and the deposit check land at a sensible time, based on what actually happened with their booking, not on a fixed timer that ignores a cancellation or a no-show.

Reviews and reputation

Review request held to quiet hours, with a cooldown against repeat asks

Email status tracked through delivered, opened and clicked

Loyalty, promo and reporting

A loyalty offer with rules, timing and an audit trail. An eligible completed transaction can issue one single-use code. The code has a delayed activation date, a six-month expiry and a reminder before it expires. The system won't let a customer hold more than one active code at a time. A redeemed code does not immediately create another one, so the program cannot turn into a permanent discount on every visit.

The issuance email is recorded against the code. Delivery, open and click events move the email status forward in the admin system, while negative states remain visible. Expiry, redemption and reminders are written to an audit trail. Rewards or messages can be switched off on their own, without shutting down anything else.

Issued
Activates
Available
Redeemed / Expired

Safeguards

Eligible transaction check

Service and touch-up exclusions

One active code per customer

Anti-loop rule after redemption

Delayed activation

One-shot expiry reminder

Never issues the same reward twice

Audit records

Email engagement state

What the customer noticed

The reward code arrives after a real completed visit, works once, and does not quietly turn into a standing discount on every future trip. The reminder before it expires means it does not go to waste.

Promo: staff support and content operations

A shared task queue, not one employee's personal list

Staff-facing AI assistance that never messages a customer directly

Finished work can become approved content

Image cleanup, caption, crop, alt text and publishing, handled automatically

Staff approval required before anything cross-posts

A safeguard that stops the same post from publishing twice

What the staff stopped doing by hand

Finished work can become approved content without anyone cropping, captioning or re-posting it themselves, and the AI assistance never messages a customer directly, so a person always has the last word.

Reporting

Source attribution on every customer

Revenue written back onto the record from completed sales

Response time, conversion and automation actions, tracked together

A monthly report, not just a live dashboard

Customer lifetime value, what it costs to win a customer, and a guarded ratio between the two

Private report links that only work for the owner, instead of an open dashboard anyone could stumble on

On-demand delivery as a PDF or through Telegram

When old data needs fixing, it's tested safely first and corrected in a controlled way, never dumped in all at once

What changed for the owner

Instead of digging through a live dashboard, the owner gets a monthly report with revenue, response time and a guarded ratio between customer value and acquisition cost already worked out, delivered as a PDF or through Telegram.

Reliability and ownership

The website, CMS, admin dashboard and every workflow above are owned outright, not rented from a platform. The exception handling is part of the build, not an afterthought.

The system tells a failure worth retrying apart from a reason to skip the step, so it doesn't keep retrying something that was never going to work

Duplicate protection holds even if the system restarts, not just during one attempt

Quiet hours are recalculated right before a send, not just when it was queued

Long waits end by re-checking the real status, not by assuming nothing changed

Failures that survive retries generate an alert instead of failing silently

Every step has a time limit, so nothing gets stuck waiting forever

New automation is tested safely before it's switched on for real

The system can tell the difference between something a person did and something it did on its own

What changed for the owner

A failure that keeps happening raises an alert instead of failing silently, so the owner hears about a broken step from the system, not from a customer who never got their message.

Three years of numbers

Not one good month picked out. This is the whole run, from the business's own records.

4,532customers in one connected system
$600k / yrin annual business revenue
19.6xreturn on ad spend
$414average sale
8,340 to 2,234enquiries to paying customers
$9 to $13cost to bring in an enquiry

What the system did in a single month

under 6 minmedian first reply
~3 minmissed-call acknowledgement
553after-hours replies, in a month
9,600messages handled in a month

The review system, in numbers

27 → 249reviews, per year
~70%answered by the system
417 days → same dayreview reply time
Total reviews grew from 27 a year to 249
The system answered 175 of 249 reviews, 70 percent
Average review response time fell from 417 days to same day
A missed call at 12:00, an automatic text back by 12:02

A missed call at 12:00. An automatic text back by 12:02. Nobody at the front desk touched it, and the customer replied within the hour instead of calling the next business.

These figures describe the business in which the system operates, not a claim that software alone produced every sale, customer or review. The system handles consistency, response and follow-up, while the offer, demand, owner and team still determine the result.

You do not need all of this at once.

This system is many connected workflows, not one. The first project should fix one operational bottleneck that repeatedly loses time, money or customer trust.

Not sure where to start? Take the free Scorecard first