ClearHome
A self-hosted ticketing platform for households — every job on the house in one place, instead of scattered across spreadsheets, group chats, and forgotten emails.

The problem
Households end up tracking work-on-the-house in a hopeless mix of spreadsheets, group chats, and forgotten emails. Quotes from one trade get lost. The boiler service date drifts six months. Recurring jobs — gutters, MOTs, deep cleans — just don't get tracked.
ClearHome is a focused ticketing system for the home: every job, recurring or one-off, with a clear status, history, and a place to keep the photos and quotes that go with it.
What I built
A production-grade full-stack application:
- Next.js 16 frontend with shadcn/ui, dark mode, and a mobile-first layout
- NestJS API with TypeORM, multi-tenant data isolation per household, and a typed domain model around tickets, properties, and trades
- Bun runtime for the API — quicker cold starts, no transpilation step
- Comprehensive testing — Playwright for end-to-end coverage, Vitest for units
- OpenTelemetry + Sentry so issues surface fast
- Dockerised end-to-end, deployable with a single compose file
Outcome
ClearHome is shipped and in use. The biggest payoff has been the recurring-job model — it's the thing that actually makes a difference when you've got a house full of things that need doing twice a year and nobody to remember them.