Skip to content
Nicholas Gollnick

Project case study

Detailing Delivered

I designed and built this booking and operations platform as co-owner of Detailing Delivered. This page presents it as a product build: a walkthrough of what the software does, not a live storefront.

Detailing Delivered · booking platform
The Detailing Delivered homepage on a laptop screen
The Detailing Delivered homepage on a phone screen

750+

jobs booked across 3.5 years in business

500+

customers served

5-star

rated throughout the three years

Industry
Mobile car detailing
Service area
Waukesha County, WI
Role
Full-stack developer and designer, solo
Stack
Next.js, TypeScript, Prisma, Supabase, Stripe, Resend, Google Routes API

Where it started

Wix couldn't keep up with a mobile business

I co-owned Detailing Delivered for three and a half years. For the last year and a half we ran the business on Wix, and we outgrew it: it lacked the customization we wanted and locked important features behind a much larger paywall. So I rebuilt it from scratch: the customer site, the booking system, and the entire back office.

Read the restShow less

Most bookings happened over calls and texts, which ate hours every week. Customers with extremely dirty cars often didn't mention it, and we ate the difference rather than surprising anyone at the job site. Every new booking request meant playing Tetris with the calendar by hand, attempting to fit our customers in based on the size, location, and difficulty of the job.

Those problems set the goals: a consistent hourly rate no matter the car's size, condition, or service; accurate time estimates for every job; and a route-aware booking system, so neither we nor an online customer could wreck the day's schedule.

What I built

The booking flow to the back office

01

A booking flow that prices the exact car

After hundreds of cars, we could estimate how long a job would take just by looking at the vehicle. The booking flow turns that knowledge into software. I documented about 50 real jobs, recording each car's condition, the price, and the time worked, and turned that data into a pricing model driven by four condition questions a customer answers in the flow: pet hair, stains, seat material, floor mats.

The result: a customer clicks five extra buttons, and the system prices the job within 96% of its true hourly rate, with a time estimate to match. No surprises at the job site, no under-quoting, and we know exactly how many jobs fit in a day.

02

Route-aware scheduling

When a customer enters an address, the system checks it against every job already on the calendar. Then it returns the top three time slots where the new stop would fit best, with other workable days shown below. The customer just sees the best appointment times for their area. We projected this would cut our drive time by close to half.

The same engine powers rescheduling: instead of five minutes searching the calendar, moving a customer takes about 30 seconds.

The schedule step in the booking flow, showing the top recommended appointment times for the customer's address

03

The admin dashboard

I rebuilt the parts of the old dashboard we relied on, plus everything it wouldn't give us: the day's routes, notifications, and the weather for each upcoming day, all on one calendar. Behind it sit bookings, customers, invoicing, payroll, expenses, memberships, referrals, gift cards, reviews, and analytics, in one login.

04

Memberships, referrals, and gift cards

Memberships are a recurring plan: after a first full-priced detail brings the car to baseline, the system automatically rebooks the customer at their chosen cadence at a discounted maintained-car rate. The system holds the card, charges after each completed visit, and the customer can cancel whenever they want, as well as choose their ideal day of the week.

Referral credit, twenty-five dollars to give and twenty-five to get, lands only when the friend's job is completed and paid. Granting it at booking would let someone book, collect free credit, and cancel.

Gift cards return a lot for how little they take to add. They added 6% to our yearly revenue in their first year on the old site.

The membership plans page

05

Analytics that show where the money goes

Every job has start and stop timers, and the analytics tab combines that with gross revenue to compute the true hourly rate of every service type. That is how a service business finds out it is leaking money on a specific offering before the year-end numbers say so. The same views show patterns across vehicle types, customers, and every other kind of sale.

The analytics tab: revenue, jobs completed, and revenue over time, broken down by service and vehicle type

06

Mileage and payroll for tax season

The mileage system pulls every completed job, per person, and totals drive distance at the end of the year at the IRS standard rate. It also handles the home-office rule, so the drive home counts when it qualifies. The report comes out clean and documented, and it saved us thousands of dollars per person at tax time, with the click of a button.

The year-end mileage report, totaling each person's deductible miles at the IRS standard rate

07

Local SEO pages

Each city in the service area gets its own landing page, so a search for car detailing in a specific city surfaces the business as local across the whole coverage area, not just the town where it's based.

The Oconomowoc landing page, headlined mobile detailing in Oconomowoc, WI

By the numbers

What the build changed

96%

pricing-model accuracy against real job data

Measured against about 50 documented jobs

44%

projected increase in yearly profit

Projected, modeled from our own job history

6%

of yearly revenue from gift cards

In our first year on the old site

The hardest problem

The route-aware calendar

The route-aware calendar took the most work. I went through several layouts before it read well on both mobile and desktop, and the routing logic hid edge cases that only showed up in manual testing: what happens when the service is a paint correction or ceramic coating that takes most of a day? What if only one job is on the schedule? How do you weigh the final job of the day being close to home base? Each one had to be found, reproduced, and handled.

The takeaway

The software was the bottleneck.

We had a good business. Customers loved the work, and we held a five-star rating throughout. The software was what held us back. Building this platform showed me how much money a service business loses to wasted drive time, under-quoted jobs, and admin hours. The fix is software shaped around how the business actually runs.

Software shaped around your business