
Built a donor thank-you tool for a two-person nonprofit
Donation receipts that go out the same day.

Launched a reading-streak tracker for my Year 8 class
Thirty students, one streak each, no accounts to manage.

Shipped a tide and swell app for my local surf club
Tide, swell and wind for one beach, nothing else.

Built a shift-swap board for our warehouse team
Shift swaps that stop living in a group chat.

Open-sourced a favicon and OG-image generator
Paste a project name, get every icon size you need.

Launched a lesson planner that exports to PDF
Write a lesson once, print it in your school's format.

Shipped a CLI that diffs your .env against your deploy
Tells you which environment variable you forgot.

Built a rent-splitting app for four people who forget
Who owes what, without the monthly argument.

Shipped: a CLAUDE.md generator that greps your repo for existing helpers
Spent a year fighting Claude Code rewriting helpers that already existed, so I built a sma

Launched a booking page for my mum's pottery studio
Six seats a class, paid up front, no phone calls.

Shipped the salon booking app I have been talking about
My partner's salon now books itself while she works.

Launched a component playground built with v0 and Claude Code
A small site where you can browse and copy Tailwind components, each one generated with v0

Open-sourced a SQLite-to-Postgres migration checker
Finds the schema Postgres will reject before you move.

Built a browser extension that flags exposed Firebase rules
Warns you when a site's database is readable by anyone.

Deployed a Stripe + Vercel billing dashboard after three weekends
Side project finally live: a billing dashboard for small SaaS founders who don't want to b

Launched a searchable library of prompts that survived review
Only prompts that produced code someone actually merged.

Open-sourced an RLS policy linter for Supabase projects
Catches the table you forgot to protect.

From Lovable prototype to a paying SaaS: our onboarding flow is live
Six months ago this was a Lovable click-through prototype. Today it's a real product with