THeApps
All apps

HouseBud

Building

Find roommates, then run the household together. Students match on everyday habits, meet in a small group chat, and turn that group into a household with shared chores, expenses and a shopping list.

Language
  • TypeScript
  • Node
Framework & UI
  • Next.js 16.4 — App Router
  • React 19.2 — React Compiler
  • Tailwind v4
  • Express 5 — API
  • Zod — request validation
Data
  • Postgres
  • Prisma 6 — ORM + migrations
Auth & Identity
  • Email + password — JWT + bcrypt
Hosting & Infra
  • Railway — web + API + Postgres
QA & Testing
  • Vitest — unit
  • Vitest + Supertest — API integration
  • Playwright — e2e on Chromium, Firefox, WebKit, emulated phones
  • axe-core — WCAG 2.1 AA
  • v8 — coverage thresholds in CI
Dev Tooling
  • npm
  • ESLint
  • Prettier
  • tsx
CI & Delivery
  • GitHub Actions — 5 required checks on every PR
  • Railway — staging on merge to main
  • Migrations on pre-deploy

The problem

Finding a roommate and living with one are treated as two separate problems, solved by two separate kinds of tool. Matching sites end the moment two people agree to move in. After that, the household runs on a group chat: who took the bins out, whose turn it is to clean the bathroom, whether anyone bought milk. Like any chat, it’s good for talking and bad at keeping track of anything.

The approach

HouseBud treats them as one app, because matching is how a household gets formed:

  • Match on habits, not just budget. A compatibility questionnaire covers the things that actually break shared living: cleaning, guests and parties, smoking, pets, sharing food and bills.
  • Meet before committing. Matches meet in small “meet & greet” chat rooms, capped at three per person.
  • Form the household from the room. The room’s owner clicks Form household and everyone else gets an invite. Nobody is added without saying yes.
  • Then run it. Repeating chores with an optional rotation, a shared shopping list, expenses with running balances and settle-up, house rules proposed and agreed by everyone, and a calendar for events, guests and who’s away. Owners manage members, and each module can be switched on or off per household.

One decision worth calling out: the household gets its own chat rather than inheriting the matching room. The matching chat shows its full history to every participant, so carrying it over would expose conversations from before the household existed to whoever joins later.

Testing

Unit, API and end-to-end suites run on every pull request, across three browser engines and two emulated phones, with accessibility scans and coverage thresholds, and nothing merges until they pass. The QA case study covers the plan, the risks it starts from, and the eight problems the tests have found since moving to CI.

Status Building

In development, with a demo running on staging. Matching, chat and households are built, with chores, a shopping list, expenses, house rules and a calendar; production is next.