WealthTrack.

A self-hosted household net-worth tracker: one container, plain-text data, crash-safe writes and charts that make a decade of trend readable at a glance.

Category
Software · Self-hosted
Year
2025
Role
Full-stack design & build
Stack
Vue · TypeScript · Hono · Docker
Net worth · household€1.571.282+24.655 this periodYTD6M1Y2Y5YMaxSep 2025TodayProjection · Sep 2027AllocationIndex funds38%Real estate27%Cash15%Retirement12%Crypto8%

Overview

Your data, on your infrastructure

WealthTrack tracks a household’s net worth across stocks, real estate, crypto, cash and liabilities with no cloud dependency and no subscription. Data lives in plain YAML and CSV files that are straightforward to back up, edit and audit.

The challenge

Simple to use, correct under the hood

Personal finance tools tend to be either too simple to be useful or too complex to maintain. The brief was fast monthly data entry and charts that make trends obvious, on top of a storage layer that stays consistent under concurrent writes and unexpected shutdowns.

The approach

Human-readable data, safe writes

The whole application ships as a single self-hosted container. Writes are atomic and serialised, so a crash or a concurrent edit can never leave a file half-written. Long-term projections compound monthly rather than applying a rough annual average, a correctness detail that matters across years of data.

Architecture

A single container, human-readable data.

  1. 01
    Data files
    database.yaml + datapoints.csv
  2. 02
    Hono API
    Atomic writes · global mutex
  3. 03
    Vue frontend
    Area, line, bar & pie charts
  4. 04
    Projections
    Compound monthly growth

Ships as one Docker image on a single port, with data persisted to a mounted volume created on first run.

What it does.

  • Net worth across asset categories

    Stocks, real estate, crypto, cash and liabilities sit in one view, so the household figure is never spread across five spreadsheets. Each category is colour-coded and carries its own projected yearly growth rate. Adding a category is one entry in the configuration.

  • Interactive area, line, bar and pie charts

    Area and line charts show how net worth moves over time, while bar and pie views break down where the money sits. Time ranges are switchable, so a weak month reads differently against a five-year trend. The charts are the product. Data entry exists to feed them.

  • Projections with configurable growth

    Growth rates are set per category or overridden for a single asset, so a rental property and an index fund never share one assumption. Projections compound month to month rather than applying a rough annual average. Over a decade of data, that difference is material.

  • Income tracking

    A dedicated dashboard tracks incoming cash alongside the assets it builds. Without it, a rising net worth says nothing about whether the household is saving. It keeps the inflow side visible next to the balance.

  • Dark and light theme

    The whole interface, charts included, switches between dark and light. Both themes are designed as first-class rather than one being an inverted afterthought. The choice persists between visits.

  • Plain-text storage

    Everything lives in plain files you can open, edit and back up like any document. No database to migrate, no proprietary format, no lock-in.

  • Single self-hosted container

    The whole application runs as one container: a single command to deploy and one place where the data lives. No multi-service stack to operate.

  • Audit log of every change

    Every change is logged, so a figure that shifts unexpectedly can always be traced to when and how. Writes are atomic and serialised, so the data files can never be left half-updated.

Want the next one to be yours?

Describe the system, who uses it and what it has to survive. You get a written view on scope, architecture and the first increment worth shipping.

Start a conversation