Amber Car Rental
The agency was taking bookings by phone and tracking fleet availability by hand, which meant double-bookings, slow customer response times, and no visibility into which vehicles were actually free on a given day.
- Company
- Amber Ventures LLC
- Role
- Solo full-stack developer
- Period
- Nov 2025 – Present
What I actually owned.
Technology used.
| Frontend | Next.jsTypeScriptTailwind CSS |
|---|---|
| Backend | Supabase (PostgreSQL, Auth, Realtime) |
| Tooling | Claude CodeChatGPT |
How it fits together.
- Customer app
- Admin dashboard
- Next.js API layer
- Supabase (Postgres + Auth + Realtime)
- $ Customer app → Next.js API layer
- $ Admin dashboard → Next.js API layer
- $ Next.js API layer → Supabase (Postgres + Auth + Realtime)
- $ Supabase Realtime → Admin dashboard (live booking + fleet updates)
One Next.js codebase serves both the customer-facing booking flow and the admin dashboard; Supabase Realtime pushes fleet and booking state to the dashboard without polling.
Decisions & tradeoffs.
Solo developer, real deadline: Auth, Realtime, and row-level security shipped for free instead of being rebuilt.
Admin dashboard needed booking and fleet-movement updates to reflect instantly across sessions without hammering the database.
As the only engineer, the bottleneck was breadth — scaffolding CRUD, debugging edge cases, and writing admin tooling in parallel with customer-facing work.
Metrics that matter.
What actually went wrong, and how it got fixed.
Enforced availability at the database layer rather than trusting client-side checks alone, so a race between two requests can't both win.
Leaned on Claude Code and ChatGPT for scaffolding and debugging so time went to product decisions and edge cases, not boilerplate.