A property maintenance business, with the admin built into the website.
Daltons Property Services needed more than a brochure site. We designed and built the public website, the customer booking flow, a private job-tracking link and the staff portal that runs behind all three — as one system.
Five paying clients in its first week — for a business that launched with no customers, no reviews and no search history.

Sector
Property maintenance
Area served
Ashford & Kent
Build route
Bespoke website system
Live since
2026
Four constraints shaped every decision.
Daltons launched as a brand-new business: no customer base, no reviews, no search history. The website was the entire shopfront, so before a single screen was designed we agreed what it had to do — and what it must never cost in time or money.
Pricing was the first question, every time
Customers ask "what will this cost?" before anything else. The site had to answer with a real number without committing the business to a price it had not seen.
One person runs the work
Jack quotes, schedules and does the jobs. Anything the website could not handle on its own would land on him as another admin task, so the enquiry flow had to arrive ready to act on.
Customers check in mid-job
"Is it still happening Tuesday?" is a phone call the business does not need. The build needed a way for a customer to see where a job is without an account to forget the password to.
Running costs had to stay near zero
A local trade cannot carry a monthly platform bill. The stack was chosen so a normal month of traffic and bookings sits inside free tiers.
Three routes from “I need someone” to a booked visit.
Every page on the site leads to one of them. Pick a journey to see the screen that carries it.
An answer before the enquiry
Two taps — pick a service, pick the job closest to yours — and a rough price appears. Nobody has to ring to find out roughly what a job costs, and the business is never held to a number it has not seen.
- Four service groups matching how the business actually sells: plumbing, handyman, exterior, garden
- Prices come from the same service catalogue that builds the service pages, so a price can never appear in one place and not the other
- Every result repeats that the exact price is confirmed before anything starts — a guide, not a quote
- The result ends on "Book this in", so a curious visitor becomes an enquiry in the same session

Calm, not loud — because trust is the product.
Trade websites usually shout: red banners, urgency badges, stock photography of someone else’s van. This one does the opposite. A sage and graphite palette, one typeface at a few confident sizes, and a lot of space — so the prices and the next step are the loudest things on the page.
Sage 500
#7c8f7a
Sage 700
#506250
Graphite
#1f2328
Slate
#5b6470
Stone
#f8f7f4
White
#ffffff
Typography
Manrope — one family, four weights
Self-hosted, so the headline never jumps as the page loads. Hierarchy comes from size and weight rather than colour, which keeps the sage accent reserved for things you can act on.

The website is the front of a job management system.
An enquiry does not land in an inbox and stop. It becomes a job record the owner works through from a private portal — and the customer follows the same job from the other side.
Enquiry
A rough price or booking lands as a job record, with photos, postcode and urgency attached.
Quote
The owner prices it in the portal with a rules-based calculator — labour rate, priority uplift, validity — on rates they can edit themselves.
Job
The job moves through its stages — scheduled, in progress, extra work approved, complete — on a calendar that knows the UK bank holidays.
Tracking
The customer follows the same job on a private link. No account, no password, no phone call.
The tracking link is the part clients remember. Each job gets an unguessable link the customer can open like a delivery tracker — no account, no password reset, and no personal details exposed on the public record. It removes the “any update?” call without adding a login to maintain.
The half of the build the public never sees.
Most of the work went here. The staff portal is where enquiries become jobs, jobs become invoices, and the customer gets kept in the loop without anyone writing a message. It replaced the notebook, the spreadsheet and the “I’ll ring them later”.
Open it and see what needs doing
Not a wall of charts — a list of decisions. Active jobs, anything with no progress in two days, open quotes, money invoiced but not paid, and the enquiries that came in overnight.
- Every figure is a live count, never a placeholder widget
- "Needs attention" surfaces jobs that have gone quiet, before the customer has to chase
- New enquiries land here with the service, postcode and how long ago they arrived
- Empty states say so honestly rather than showing invented numbers

A note on these screenshots. We replaced the real customer data with fake data for data protection reasons. Every name, address, phone number, email and job note shown in the portal and tracking screens is invented — phone numbers use the reserved 07700 900xxx range, emails use example.com. The interface, layout and workflow are exactly as delivered; only the people in it are fictional.
What the owner taps, the customer sees.
The same job record drives both screens. Jack advances a stage from the cockpit; the customer’s tracking page updates and an email goes out. Extra work found on site becomes a decision the customer makes in writing, before it is done.

Staff view — advance the stage, set the money status, approve extra work

Customer view — no login, no app, just a private link

Designed at 360px, then allowed to grow.
Most enquiries start on a phone, often outdoors, often one-handed. Every step of the booking is a single decision with a thumb-sized target.

Homepage

Rough price

Booking
Built to run on almost nothing.
Every piece was chosen so a one-person business is not paying a platform fee to own its own customer data.
Next.js App Router on Cloudflare Workers
Server-rendered pages deployed to the edge through OpenNext — fast from a phone on mobile data, and no server to maintain.
Firestore for jobs, quotes and appointments
Job records, quotes, the calendar and settings are live data, not a spreadsheet. Customer email addresses stay out of anything publicly readable.
R2 for booking photos
Photos uploaded during a booking go straight into object storage through the Worker, so nothing large passes through the app itself.
Resend for transactional email
New enquiries reach the business inbox immediately, and job updates go out to customers from the portal.
Staff-only access, verified server-side
The portal is restricted to an allowlist of staff addresses, and the routes that send email verify the signed-in identity on the Worker before doing anything.
Mobile-first, from 360px up
Every layout was designed at phone width first, because that is where the enquiries come from.
5
paying clients secured in week one
Figure confirmed by the business owner. It is a count of paid work won, not a traffic or conversion estimate.
From nothing to five paying clients in seven days.
Daltons opened with no customer base, no reviews and no search history — the website was the whole business as far as a new customer was concerned. Within the first week of launch it had secured five paying clients.
A new trade business normally spends that week explaining itself over the phone. Here the site did it: the price question was answered before anyone rang, and the enquiries that came through arrived with photos, a postcode and an urgency already attached — ready to quote.
The website does the parts that used to be phone calls.
Beyond that first week, this is what the build put in the owner’s hands:
A visitor can get an indicative price without speaking to anyone
A booking arrives with photos, postcode, urgency and a preferred date attached
Quotes, jobs, the calendar and the customer list live in one place the owner controls
Customers can check a job themselves on a private link, instead of ringing
Quoting rates can be changed by the owner, without a developer
Hosting, database, storage and email all sit on free or near-free tiers
Want a site that works this hard for your business?
Answer a few questions about how you win customers and get a custom website preview — no commitment, and clear pricing before you start.