Tay Performance

Booking and admin system for a car tinting garage. Live in 5 days, and it has run the business ever since.

Role
Full-stack web developer (React and Supabase), SEO, Google Business setup
Year
2026
Timeline
5 days
Platforms
Web
Stack
React 19, TypeScript, Vite, Supabase, Twilio
Client
Tay Performance, automotive window tinting workshop (France)
( The result )
5 days
from brief to live
3 min
or less for a client to get a price and book
0
double bookings, blocked by the database itself
Tay Performance app preview

( 01 )The problem

The owner gave quotes by phone, wrote bookings in a notebook and answered the same questions fifty times a week. He wanted clients to get a price and book on their own, and he wanted one screen showing the cars of the day with their durations and specs.

( 02 )What I did

Build

  • A vehicle picker that goes from make to model, generation and variant, and turns any car into a service with a price and a duration.
  • A pricing engine based on vehicle class, glass surface, tint type and labour, which the owner edits himself.
  • A check of the French tint rules for 2026, shown to the client before booking.
  • A booking flow with confirmations by email and by SMS through Twilio.
  • An admin panel with the queue for the day, job statuses and price publishing.

Backend

  • Supabase with Postgres, Auth with row level security, Storage, Realtime and Edge Functions.
  • An availability engine that holds a slot while the client finishes booking. The database itself refuses double bookings.

Launch

  • SEO with structured data, metadata and performance work, plus a Google Business page created and linked to the site.

( 03 )Screens

Tay Performance, Home page
01Home page
Tay Performance, Vehicle picker by make and model
02Vehicle picker by make and model
Tay Performance, Tint configurator with a live price
03Tint configurator with a live price
Tay Performance, French tint rules checked before booking
04French tint rules checked before booking
Tay Performance, Workshop calendar in the admin panel
05Workshop calendar in the admin panel

( 04 )The hard parts

  • Slot holds that survive two people booking at once. Postgres guarantees that two clients can never take the same bay at the same time.
  • Pricing the owner can change alone. He should never need to call a developer to update a price.
  • Five days from spec to production. The whole system shipped in that window.

( 05 )The outcome

A client now gets a price and a confirmed slot in under three minutes. The owner sees the cars of the day on one screen and the phone rings less. More clients come in through the site, and several hours of manual work are gone every week.

( 06 )Stack

  • React 19
  • TypeScript
  • Vite
  • Supabase
  • Twilio

Want something like this for your product? Let’s talk for 30 minutes.

Book a free 30 min call Fixed quote in 24 hours, no commitment
( Fixed quote in 24 hours, no commitment )

Pick a time for a free 30 minute call