← All selected work

Local-first · Data integrity

LedgerKit

Financial records that can explain themselves.

An offline desktop ledger for multi-currency cash, investments, and net worth, with traceable changes and explicit data-quality checks.

  • Rust
  • Tauri
  • SQLite
  • React
  • TypeScript
Windows beta
One authority for financial rulesOne authority for financial rulesReact UIRust coreSQLitePreviewValidateCommitDecimal rulesTraceable changes

One authority for financial rules

  1. React UI

    Preview

  2. Rust core

    Validate · Decimal rules

  3. SQLite

    Commit · Traceable changes

Conceptual system illustration. The interface requests a preview. Rust prepares the authoritative posting, and SQLite persists the validated result.

The problem

A ledger must do more than display a total. It needs to explain the prices and exchange rates behind a valuation, preserve corrected history, and make missing information visible instead of guessing.

My contribution

Developed the React desktop interface and Rust application core, including decimal rules, import reconciliation, and encrypted backup and recovery.

Engineering decisions

  • One authority for financial rules

    The React interface calls named Tauri commands. Rust owns decimal arithmetic and posting rules; the UI cannot issue arbitrary SQL or invent a financial posting.

  • Correct history without erasing it

    Posted events are revised or reversed through traceable changes. Canonical posting hashes support consistency checks, while missing prices or exchange rates remain explicit data-quality issues.

  • Validate before switching data

    Imports are analysed and reconciled before commit. Portable backups are encrypted, and restoration checks the candidate database before switching the active ledger.

Delivery & scope

Windows x64 v1.0.0-beta.2 includes an installer and checksums. The core ledger runs locally without an account or cloud service. Signed stable releases, macOS/Linux support, and cloud sync remain outside this beta.

Explore the source

Code, architecture notes, and delivery details on GitHub.