Building in Public
Follow our journey building a local-first financial operating system. Raw thoughts, technical decisions, and lessons learned.
Day 17: Money Speaks Many Languages
Building multi-currency support with explicit, user-controlled exchange rates and view-layer-only conversion.
Day 16: Intent Meets Reality
Building budgets as derived intent that observes financial truth without enforcing it. Non-judgmental progress tracking.
Day 15: Bring Your Data With You
Building CSV and QIF import for local-first onboarding: preview before write, deterministic duplicates, and batch undo.
Day 14: Time Is Just Another Input
Building scheduled rules without cron: how period keys make recurring transactions deterministic, idempotent, and sync-safe.
Day 13: You Can't Break It
Implementing undo via compensating operations: how we made financial data reversible without ever mutating history.
Day 12: Sync Without Servers
Building sync mechanics without networking: operations as cargo, deterministic merging, and explicit conflicts.
Day 11: History Is a Feature
Building the operation log foundation: making system history explicit, inspectable, and ready for future sync.
Day 10: Trust is Built in Tests
Foundation hardening sprint: auditing boundaries, testing invariants, and proving correctness.
Day 9: Your Data Is Yours
Implementing workspace backup and restore for true data ownership in local-first software.
Day 8: Links Over Exports
Implementing shareable views that prioritize privacy, scoping, and links over static exports.
Day 7: Rules Are Controlled Automation
Building a Rules Engine that uses Views as triggers, with suggest-first automation and full audit logging.
Day 6: View Safety and Determinism
Fixing the IDBKeyRange error: how we made View execution safe, validated, and deterministic.
Day 5: Views Are the New Reports
Why Views replace reports, dashboards, and exports. Declarative queries against financial truth.
Day 4: Ledger Engine and Financial Truth
Defining financial truth: how balances are derived, how transfers work, and why reconciliation matters.
Day 3: Primitives Before Features
Building the core data primitives for a local-first financial operating system with Dexie and IndexedDB.
Day 2: Local-First Means No Login
Why we removed authentication entirely and what it means for privacy-first financial software.
Day 1: The Vision
Why we're building a local-first financial OS—and why we're building it in public.
Stay Updated
This journal is our commitment to building in public. Every decision, every pivot, every breakthrough—documented here.
Contributors: No sprint is complete without a Developer Journal entry.