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
Link
Source on GitHub
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

Monthly data entry, consistent storage

The brief combined monthly data entry, charts for comparing trends and 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. Atomic, serialised writes protect file updates during concurrent edits and unexpected shutdowns. Long-term projections compound monthly rather than applying a rough annual average.

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

    An audit log records changes so an unexpected figure can be traced to its edit. Atomic, serialised writes protect file updates during concurrent requests.

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