Personal Project · Full Stack
Shared Expense & Settlement Tracker
A personal expense-splitting app for tracking shared spending between two people and computing monthly settlement transfers, migrated from Supabase to Neon Postgres for reliability. Structured as a multi-agent Claude Code project with separate git worktrees for parallel development.
Architecture
A Next.js PWA where every expense, personal or joint-account, rolls into one cumulative settlement balance, backed by a straightforward Postgres schema with no ORM.
Step 1
Server actions
Expenses, fixed costs, and categories are all written through Next.js server actions directly against Postgres.
Step 2
Neon Postgres
Raw parameterized SQL, with no ORM, keeps the data layer simple and easy to reason about.
Step 3
Settlement calculation
A single function computes the running balance between both people from the full expense history each time it's needed.
Step 4
Installable PWA
next-pwa makes the app installable on a phone home screen for quick logging on the go.
Key decisions
- Migrated from Supabase to Neon mid-project for more predictable Postgres behavior, without changing the app's data model.
- Skipped an ORM in favor of raw SQL, since the schema is small and stable enough that the extra abstraction wasn't worth it.
- Structured the work as a multi-agent Claude Code project with separate git worktrees, so app logic and visual polish could progress in parallel without merge conflicts.