Auto Detailing.
Complete commercial system for automotive services: scheduling, work orders and reports.
Demos are interactive on desktop — on mobile, see the preview just below.
Three navigable views (admin panel, driver portal and public site), with fictitious data
Problem
Small auto detailing businesses need to combine public lead generation and internal management without separate tools.
Solution
A public lead-generation site (service catalog, booking in a few steps and tracking by link) connected to an operational panel with scheduling, clients, detailed work orders, products and reports.
My role
Product conception, modeling and development.
Outcome
A good example of a product aimed at small businesses, from public-facing to operational.
Demo stack
How it works.
Description of the real product (frontend + backend). The demo embedded above is its demonstration version, with fictitious data.
Auto Detailing is a complete commercial system for automotive services (washing, deep cleaning, polishing, ceramic coating, paint protection film), combining a public lead-generation site with an operational panel. The client books online in a few steps and tracks the status by link; the team manages scheduling, clients and vehicles, detailed work orders (damage, photos, quality checklist) and reports. A Next.js frontend consumes a Fastify/Prisma API with availability calculation and status transitions modeled as state machines.
Architecture
- Two faces in the same Next.js frontend (App Router): a public site (landing, service catalog, booking and tracking by token) and a protected admin panel.
- API in Fastify 5 + Prisma/PostgreSQL, organized into ~13 domain modules, with schema validation (TypeBox) and OpenAPI/Swagger documentation.
- JWT authentication with refresh token rotation and role-based access control (ADMIN/STAFF).
- Availability calculated on the server from working hours and schedule blocks; booking and work order statuses validated as state machines.
- Photo upload and processing (multipart + sharp), PDF report generation (pdfkit) and global search across clients, vehicles, services and products.
Modules
- Public site: landing, service catalog and detail pages (SPIN content)
- Public booking: a 4-step wizard (service → date/time → client/vehicle → confirmation)
- FIPE lookup: make/model/year via external integration to identify the vehicle
- Tracking by token: booking and delivery status by public link, no login
- Scheduling: working hours, blocks and calendar view
- Bookings: list, filters and status transitions
- Clients and vehicles: registration, service history and search
- Work orders: damage (location/severity), service items, photos per stage, products used, quality checklist and activity log
- Catalogs: services, packages and products
- Reports: summary, by partner, by service, product consumption and clients — with PDF export
Engineering highlights
- From public-facing to operational in a single product: lead generation (site + booking) linked to execution (work orders) and management (reports).
- Rich work orders: documentation of damage by location and severity, before/after photos, products consumed and a quality checklist.
- Availability calculated on the server (working hours + blocks) feeding the public booking flow.
- Frictionless tracking: the client sees progress via a tokenized link, without creating an account.
- FIPE integration to identify the vehicle's make/model/year during booking.
- Robustness: schema validation (TypeBox), rate limiting, OpenAPI/Swagger and tests with Vitest.