Skip to content
Carlo Miguel Dy
← Back to the specimen catalogue

Acc. XIII · Autolavandula turbinata — carwash queue system, cultivated 2026

Kintab — carwash queue and operations system

Technical founder · Product engineer · 2026 · Independent studio

An operating system for Philippine carwash shops covering live queue, bookings, payroll-lite, and real-time car-ready notifications across owner, staff, and customer roles.

Autolavandula turbinata — carwash queue system, cultivated 2026

Field notes

The context

Carwash shops run their queue on a whiteboard or a group chat, with no shared view of wait time, no automated way to tell a customer their car is ready, and payroll worked out by hand at the end of the week. Kintab replaces that with a role-based system spanning bookings, live queue, and commission payroll.

Cultivation

What I built

  • Built the role-based PWA (owner/staff/customer) with a live queue driven by Supabase Realtime, combining bookings and walk-ins into one status feed.
  • Built Web Push car-ready alerts and multi-tenant payment gating with manual verification across GCash, Maya, GoTyme, and bank transfer.
  • Built Mission Control, the super-admin surface for tenant lifecycle and payment operations.
  • Built the offline-first data layer — Workbox and IndexedDB with sync-on-reconnect conflict resolution — so staff can keep working the queue without signal.
  • Built attendance tracking and commission payroll with CSV export, customer feedback with LLM-generated weekly digests, and EN/Tagalog/Taglish switching throughout.
  • Wrote eight Playwright specs covering core flows, offline emulation, and ban enforcement, and produced the shop's complete marketing suite — brand kit, business cards, flyers, brochure, social assets, and promo video.

Root system

How it works

A three-app monorepo: a Next.js App Router landing site for SEO, a Vite + React role-based product PWA, and a separate Vite + React Mission Control admin app, sharing a Tailwind v4 design system and i18n locales. Zod schemas are the single source of truth on both the client and the Supabase Edge Functions that validate writes. Supabase Postgres carries multi-tenant RLS, email/OTP auth, per-queue and per-booking Realtime channels, Edge Functions for webhooks/LLM/push, and Storage for receipts and photos. GitHub Actions runs lint, typecheck, Vitest, and Playwright on every PR ahead of three independent Vercel deploys.

Harvest

Outcomes

  • All three surfaces — landing, product PWA, Mission Control — are deployed.
  • Web Push is feature-gated because VAPID keys are unset; Sentry and PostHog SDKs no-op because their keys are unset.
  • Mission Control has no password/SSO gate yet on the free Vercel tier — a known pre-launch gap, not a hidden one.
  • Pre-launch: no users or revenue.

Herbarium

The work itself

Owner's 'Command center' queue board with stat tiles CARS TODAY 6, AVG CYCLE 9 min, REVENUE TODAY ₱747, RATING (7D) 5.0★, a 'Realtime connected' badge and an 'Accept walk-in' action, four lanes — Pila/Queued (DEF 5678, Basic Wash, unassigned), Washing (DEF 8899, Wash & Wax, Bay 2, Rinse, Ana Reyes), Dry & Wax (GHI 9012 Full Detailing Bay 1 Jomar Dela Cruz; GHJ 3321 Full Detailing Bay 3 Jomar Dela Cruz), and Ready (NCR 1122, Interior Vacuum & Wipe, Bay 1, Ana Reyes, with a Release action) — plus a 'Staff on shift · payroll-lite' strip showing Ana Reyes and Jomar Dela Cruz with clock-in times, wash counts and peso commissions.
Fig. 1The owner's live queue board computes cycle time, per-car status and each staff member's running commission from the same feed.
Payroll-lite screen listing commission rules — Basic Wash ₱30.00 fixed per wash, Wash & Wax ₱50.00 fixed per wash, Full Detailing 10% of service price — and a cutoff summary for Aug 1-15, 2026 with a CSV export action and two staff rows: Jomar Dela Cruz, 2 washes, ₱398.00 revenue, ₱60.00 commission; Ana Reyes, 2 washes, ₱598.00 revenue, ₱50.00 commission.
Fig. 2Commission rules run fixed-per-wash or percentage-of-service, and roll up into a per-cutoff, CSV-exportable payroll-lite summary.
Public customer catalogue for a demo branch in Taglish, with shop name and branch, a 'Live' badge, a Quezon City address, the heading 'Mga services namin — Pumili ng service, tingnan ang presyo at tagal.', and five services — Regular Hugas ₱199 ~30 min, Hugas may Wax ₱349 ~45 min, Interior Vacuum ₱249 ~30 min, Full Detailing ₱899 ~120 min, Underchassis Wash ₱149 ~20 min — each with an 'I-book Ito' button, plus a 'Sumali na lang sa walk-in queue' option.
Fig. 3The customer-facing catalogue serves the full service list, pricing and durations in Taglish, with booking or walk-in as parallel paths.
Customer's live status page for 'Suzuki Ertiga DEF 8899' reading 'Rinse in progress' and '~40 min na lang', a seven-stage tracker Queued → Rinse → Wash → Dry → Wax → Detail → Ready with Rinse active, a Taglish callout 'Lakad ka muna, boss. Ipa-ping ka namin the moment na ready na si DEF 8899. Walang aksayang upo.' with a 'Turn on notifications' button, and a follow-up message box with quick-reply chips.
Fig. 4The customer's status page tracks a car through seven stages in real time and offers a notification opt-in for when it's ready.
Pressed leaf — what it taught
Multi-tenant payment gating with manual verification is a real product requirement in this market, not a stopgap — building it as a first-class state machine (rather than a boolean) made Mission Control's tenant lifecycle screen straightforward. Feature-gating unset integrations (push, error tracking) at build time is cheaper than fielding runtime failures from missing keys later.