2025Solo buildshipped
BudgetMate
Family finance for Indian households — Go, Templ and HTMX in a distroless container. Zero maintenance, zero framework, zero data leaving the house.
budgetmate.app
GoTemplHTMXSQLiteDocker (distroless)
01 / the problem
Family finance tools either sell your data or demand a frontend framework's worth of maintenance for what is, at heart, a ledger. BudgetMate is local-first: your money data stays on your hardware.
02 / what i built
- Shipped at v1.0.0, production-ready, on a zero-maintenance philosophy.
- Single static Go binary — runs on anything from a ₹500 Raspberry Pi to an enterprise cloud server.
- Zero-knowledge CSV import: bank statements are parsed entirely in memory, never persisted raw.
- Calm AI nudges — financial insights that respect attention instead of gamifying anxiety.
03 / architecture decisions
- Go 1.22 chosen for compiled performance and a single self-contained executable — documented in an ADR, not folklore.
- Templ + HTMX hypermedia UI: SPA feel with smooth transitions, but endpoints return HTML fragments (HATEOAS) — no React, no bundler, perfect SEO.
- SQLite via the pure-Go modernc driver — zero CGO, so cross-compilation is trivial and there's no database server to babysit.
- Google Distroless container: only the binary ships — no shell, no package manager, ~95% smaller attack surface.
- Vertical-slice architecture: each feature owns its logic and its views, so changes stay local.
Want the full walkthrough — architecture, decisions, war stories?
ask me about it