Project case study

Finance

A privacy-sensitive personal finance module focused on calm financial decision-making and calculation reliability. Currently frozen — kept as an honest case study of design under privacy constraints.

Frozen
Problem
Personal finance tools either lock data into a vendor's cloud or burn out as half-built spreadsheets. A single-user finance module on a single-user app gets to design for privacy from the start, but only if the design is finished before features pile up.
Solution
A frozen module slice with the schema, migrations, and ports-and-adapters layout already in place — ready to thaw when calculation invariants and the privacy story are fully designed. No real financial data has ever been shown publicly.
AI-first angle
Specification-first design where the invariants (account balance, category totals, transfer matching) are written before any code. AI-assisted code review is restricted to the calculation layer; no AI tool ever sees real ledger data.
Tech stack
Go 1.25, PostgreSQL 16, chi, pgxpool
Links
Repository

Status

Frozen. The module slice exists in the repository (internal/finance/ and the corresponding frontend pages) but is not under active development. It will not be extended or fixed in the current phase of the hub.

Privacy note

No real financial data is shown on this site. Any future screenshot will use synthetic demo data. There is no public demo, no live link, and no API endpoint reachable from this site.

Why it’s frozen

The Finance module is the highest-stakes module in the hub for privacy and correctness. Shipping it half-designed would be worse than not shipping it. The current focus is on Todo and on the public-site case study; Finance thaws once its calculation invariants are fully specified.

What’s already in place

  • Database schema and migrations for accounts, categories, and transactions.
  • Backend ports-and-adapters slice (internal/finance/).
  • Frontend module shell (frozen pages in the dashboard).

What’s missing

  • A complete specification of calculation invariants (transfer matching, balance reconciliation, period rollups).
  • A privacy threat model for the data the module would store.
  • A backup and restore story specific to financial data.

Repository

github.com/anton415/anton415-hub — the Finance module slice lives under internal/finance/.