CephDetail

LiveFrontend, collaborationNext.js, React, Tailwind CSS, GraphQL

cephdetail.cz

Screenshot of the CephDetail site showing the booking form

The brief

A detailing studio in Zlín, running since 2023, had been taking bookings over the phone and on Instagram. An off-the-shelf booking system lasted a month before it was dropped: it could not handle jobs that run for several days. The brief was to build their own — site, bookings, deposits and invoices that follow on from one another, with no second tool for the owner to keep in sync. The old WordPress site was to go entirely.

What I worked on

I worked on the frontend as part of a team. The site and the booking flow are Next.js, talking to an API built in Kotlin on Spring and PostgreSQL. My share was mostly the booking flow, the questionnaire and the handoff to payments.

Bookings are not a calendar of slots. A detailing job runs from one to several days, so availability is counted against the studio's capacity for a given day rather than by the hour, with public holidays and closed days folded in. The frontend had to turn that into something a customer reads in seconds.

A questionnaire about the car's condition is filled in before booking, so the owner knows what he is taking on before the car arrives.

The deposit is paid through GoPay, with invoices following it — a deposit invoice at booking, a final one on handover. There is an admin side too: reporting, portfolio management, and photo uploads converted to web formats.

Deposits and no-shows

The studio's most expensive problem was not a technical one. People booked a slot and did not turn up, and a day's notice was not enough to fill it.

Asking for a deposit was the obvious fix, but whether a customer sees it through is decided by the payment flow. It went through fifteen rounds: where in the flow the deposit is first mentioned, how many steps sit between picking a date and paying, what happens when a payment fails, and whether the confirmation actually goes out.

Some of it only surfaced in production — confirmation emails that never sent, and one case where the outstanding balance was calculated wrong.

Outcome

The site and bookings have been live since November 2025, and the studio runs its whole operation through them.

There has not been a single no-show since deposits went in. The average job comes to 8,740 CZK.

WordPress is gone. Bookings, payments and invoicing sit in one system, and the owner works in it himself.

Back to the site