Personal Project / Shared Household Planning

Household Budget App

A private mobile workspace for planning a month, recording everyday spending, and keeping a shared household ledger consistent across devices.

The Workflow

Plan, record, and review
Plan, record, and review

Overview

I built this app as a shared tool for household budgeting. It combines monthly plans, spending history, received income, and savings contributions in a phone-friendly interface. The React and TypeScript frontend connects to a private Node.js service with a SQLite ledger, so both people work from the same saved records.

What I Built

The dashboard brings together planned categories and actual spending for a selected month. Separate workflows handle manual entries, corrections, income, savings contributions, and monthly plan settings. Imported transactions have a review queue for categorization, inclusion decisions, and possible duplicates. Recently deleted manual expenses can be restored.

The app has its own installable PWA identity and mobile navigation. This public write-up contains only a workflow diagram and technical description; household amounts, balances, transactions, and account details are not displayed.

Technical Highlights

  • Invitation-based access and HttpOnly session cookies protect the API independently of the portfolio and wedding app.
  • SQLite transactions, migrations, and consistent backup snapshots support persistence and recovery.
  • Submission identifiers make retries safe after a lost response, with deletion protection preventing old requests from recreating removed entries.
  • Monthly plan and income edits detect conflicting changes from another device.
  • CSV import and optional bank-integration support feed a review workflow; real bank connectivity requires separate configuration.
  • Unsaved-change prompts protect drafts, while focus and reconnect refreshes keep shared views current without presenting stale totals as live data.
  • Mobile PWA metadata and safe-area styling support a dedicated home-screen experience.

Engineering Focus

The core challenge is keeping financial records understandable and consistent. Plans, actual spending, received income, and savings contributions have distinct meanings, and the interface needs to preserve those distinctions. Retry handling, review decisions, concurrent edits, and recovery matter as much as the dashboard itself. This project puts practical data modeling and reliability into an app intended for repeated everyday use.