
The story
Buffer Bros is the mobile detailing company I co-founded, and this is the software that runs it. A Next.js CRM tracking every job, client, vehicle, quote, and expense, with dashboard metrics so we can see how the business is actually doing. Supabase handles auth, the database, and RPC functions; a Google Sheets sync keeps the books compatible with how we already worked. Built it because spreadsheets stopped scaling with the schedule.
What I learned
- 01We did not start with software, we started with spreadsheets, and the CRM only got built at the point the schedule stopped fitting in one.
- 02The Google Sheets sync exists because the books already lived there, and changing how my co-founder worked would have killed the tool faster than any missing feature.
- 03Keeping the money math in Supabase RPC functions means a quote total is computed in one place instead of drifting across the frontend.
- 04Dashboard metrics only earned their build time once they started changing which jobs we took.
- 05Running the software for a business I own means every bug is one I feel on a Saturday, which is a very fast feedback loop.
Stack · as built
Frontend
- Next.js 14
- TypeScript
- Tailwind CSS
- Recharts
Backend
- Supabase
- PostgreSQL
- RPC Functions
Infra
- Vercel
- Google Sheets API
More prints


Want the full story behind this one?