Skip to content
Quentin Barroin

Case study

Nettoyage Automobile

Your car like new — without leaving home.

A two-sided marketplace connecting individuals with professional car-cleaning specialists who come to their door. A three-step quote funnel on the client side, a subscription-free pro space on the supply side, and a network of over a hundred local SEO pages — all built from scratch in a type-safe monorepo.

Role
Design · Development · Architecture · SEO
End to end
Year
2026
Type
From-scratch two-sided marketplace (TanStack / Hono) · at-home car cleaning
Visit the site
Two-sided marketplace

A local marketplace linking individuals and car-cleaning pros.

  • At-home service
  • 3-step online quote
  • Subscription-free pro space
  • 100+ local SEO pages

The challenge

A two-sided market to bootstrap at once: on the client side, turning a vague need (“my car is dirty”) into a qualified quote request, without immobilising the car or driving anywhere; on the pro side, convincing detailing craftsmen to join the platform when they already have their habits. That meant two distinct journeys, two narratives, but a single database and a single request flow that cleanly links supply to demand.

A second, defining stake: visibility. At-home car cleaning is a hyper-local search (“interior car cleaning Lyon”). The site therefore had to cover dozens of cities crossed with each service, without duplicating thin content, while staying fast and well-structured for SEO. All on a sound, testable, scalable technical base — not a pile of throwaway pages.

The solution: a local marketplace, type-safe end to end

A conversion-focused public site (quote + local SEO), a professional space to capture supply, and a multi-role back office — all in a monorepo where the data contract is shared from the front end to the database.

Three-step quote funnel

Multi-select services, vehicle make and model, time slot, frequency and photos: a guided journey (service → location → details) that produces a complete, actionable request.

Subscription-free pro space

A landing dedicated to supply: pros receive qualified client requests and freely pick the ones they handle, with no commitment or mandatory subscription.

Programmatic local SEO

Each service (interior, exterior, polishing, ceramic…) crossed with dozens of cities: over a hundred prioritized pages, with indicative pricing, breadcrumbs and per-city proof.

Multi-role back office

A TanStack dashboard separating admin, pro and seller roles, wired to the same API as the public site through a type-safe RPC client.

Eco-friendly positioning

A clear angle on every service: biodegradable products, waterless or low-water washing techniques — a genuine differentiator, not a cosmetic one.

Centralized request pipeline

Every quote request converges into a PostgreSQL database (Supabase) through Prisma, ready to be routed to pros — a single source of truth for supply and demand.

The product

Two journeys built for conversion — the individual asking for a quote, the pro receiving requests — and an SEO mesh that brings in local traffic.

The hero: “your car like new, without leaving home” and the free-quote call to action.
The hero: “your car like new, without leaving home” and the free-quote call to action.
The three-step quote funnel: pick services, then vehicle and contact details.
The three-step quote funnel: pick services, then vehicle and contact details.
The pro space: professionals receive qualified requests, with no subscription.
The pro space: professionals receive qualified requests, with no subscription.
A service page (exterior cleaning), with the eco angle and biodegradable products.
A service page (exterior cleaning), with the eco angle and biodegradable products.
One of the local SEO pages (here, interior cleaning in Lyon): indicative pricing and per-city proof.
One of the local SEO pages (here, interior cleaning in Lyon): indicative pricing and per-city proof.

Under the hood

A modern, strictly typed monorepo: public site and dashboard on TanStack Start (SSR, React 19), a single Hono API, and a data contract shared from the front end to the database via a type-safe RPC client. Zod validation at the boundaries, Prisma persistence on PostgreSQL (Supabase), a layered unidirectional architecture.

TanStack StartReactTypeScriptHonoPostgreSQLPrismaSupabaseTailwind CSSZodPlaywright

End-to-end type safety

One type contract links the front end, the Hono API (RPC) and Prisma: change a signature and the compiler flags every call site. Fewer integration bugs, calmer refactors.

Industrialized SEO

Services × cities generated from one template, a prioritized sitemap of over a hundred pages, localized content and structured data — to win hyper-local search.

Layered architecture

A strictly unidirectional flow (frontend → API → business → DTO → database), Pino logging and Playwright tests: a testable, scalable base, not a prototype.

My role

End-to-end design and build of the platform: design, full-stack development, monorepo architecture and SEO.

Design & art direction

A clean, reassuring visual system, a green “eco” identity, components for the site and the dashboard.

Full-stack development

TanStack Start front end (SSR), Hono API, Prisma / PostgreSQL integration and the multi-step quote funnel.

Monorepo architecture

Split into apps and packages, a type-safe RPC contract, strict layers and documented conventions.

SEO

A services × cities architecture, prioritized sitemap, localized content and metadata.

A hyper-local need turned into a platform: a complete quote funnel, a frictionless pro space and over a hundred SEO pages — on a type-safe, testable monorepo base built to grow.