Case study
GaadiGuru
A car super app, taken from Figma prototype to deployed product.
The problem
Owning a car means juggling a dozen disconnected things: maintenance, health checks, finding a mechanic, and eventually buying or selling. GaadiGuru pulls them into one place. I built it solo, from a Figma prototype to a live product, with car health monitoring and a marketplace under one roof.
Architecture
A TypeScript and Next.js 14 frontend (about 95% TS) renders listings server-side and talks to Supabase for data, auth, and realtime updates. Reusable components and dynamic routing keep the flows consistent, and the UI shifts based on the signed-in user's role.
Key decisions & trade-offs
- Next.js 14 with server-side rendering. Listings render on the server for a fast first paint and better SEO, instead of a client-only SPA that greets you with spinners.
- Supabase over a hand-rolled backend. Postgres, auth, and realtime out of the box let me ship the whole thing solo and spend my time on the product, not the plumbing.
- Roles enforced at the database, not just the UI. What a user can see and do is gated by their role through Supabase row-level security, so hiding a button isn't the only thing standing between someone and data they shouldn't touch. The trade-off: every new feature means thinking through its access policy up front, which is slower than just shipping a screen.
The hardest part
Row-level security failing quietly. When an RLS policy is even slightly off, Supabase doesn't throw an error, it just hands back an empty list, so the page looks like it loaded fine with no data and nothing in the console to explain why. The fix was to stop guessing and test the policies directly against a known user and role, then tighten them until the right rows showed up for the right people and stayed invisible to everyone else.
Outcome
- Live at gaadiguru.vercel.app.
- Shipped end to end solo, Figma to deployed, on a roughly 95% TypeScript codebase with reusable components.
What I'd do next
Add booking and payments so the marketplace actually closes the loop, give service providers their own dashboard, and put tests around the critical flows before piling on more features.