Back to all projects
In active developmentMost complex build so far

Car Service Dashboard

A hand-coded SaaS-style admin dashboard for a car service business — full vehicle and booking CRUD, role-based authentication, and a relational Postgres schema behind every screen. This is the project with the most hours, the most commits, and the most hard problems I've had to work through.

CSD
IN DEVELOPMENT
Overview

Why this project matters most

Everything I'd built before this was frontend-heavy: a landing page, a mockup, a menu. This dashboard was the first time I had to design an actual data model — vehicles, services, bookings, and staff accounts — and make sure the UI, the database, and the auth layer all agreed with each other.

It's a SaaS-style CRUD dashboard for a car service business: staff can log in, add and update vehicles, manage service records, and see everything in one admin view. It's still in active development, which I've left visible on purpose — it's a more honest picture of ongoing work than a project I only show once it's finished.

Key features

Role-based OAuth authentication staff and admin accounts see different views and permissions.

Full CRUD for vehicles and bookings backed by a relational Supabase Postgres schema, not just local state.

Relational data modeling services, vehicles and bookings reference each other correctly, with constraints that keep data consistent.

Admin UI built with shadcn/ui tables, dialogs and forms composed from accessible, unstyled primitives rather than a page-builder kit.

Validation on every mutation every create/update path checks its inputs before it touches the database.

What's next

I'm still finishing booking-conflict handling and reporting views. Once the feature set is stable, this is also the project I plan to containerize first — it's my reason for learning Docker rather than the other way around.

Tech stack
Next.jsTypeScriptSupabasePostgreSQLOAuthshadcn/uiTailwind CSS