DEMO MODE – fictitious sample data, nothing is written to disk, and the demo sends data nowhere.
Savings tracker

How does the demo work?

The personal financial dashboard (pfgd) is a single-user, self-hosted application for tracking savings goals. This demo presents the goal-oriented portfolios and the Keep track log, with fictitious data.

Log in

The demo credentials are public (demo / demo) and are shown on the login page. Every login gets its own fresh copy of the sample data, so other visitors cannot see your changes and you cannot see theirs. The session ends on logout, after 60 minutes of inactivity or after 8 hours at most, and all changes go with it.

In the live app the password exists on the server only as a bcrypt hash, the session cookie is signed and valid for 8 hours, failed attempts are rate-limited, and the password can be changed from the interface.

Portfolio = goal + holdings

Every portfolio is a goal: a target amount, a target date and a plan baseline (the starting day and the value on that day). One or more holdings belong to the goal – for example a savings account, government bonds or a fixed-term deposit. The portfolio's value is the sum of its holdings.

Keep track

Keep track is the portfolio's log: every record is a dated row, and every metric of the portfolio is calculated from this log. There are three entry types:

  • Deposit – own money goes into the holding (increases both the value and the net contributions).
  • Withdrawal – money is taken out of the holding (decreases both).
  • Valuation – the holding's current, full value on a given day, e.g. after interest is credited or prices move. The change shows up as return. A holding can have only one value per day: a newer one overwrites the earlier one and is marked as a correction.

The log can also be filled in retroactively (between the plan baseline and today), rows can be deleted, and the whole log can be downloaded as CSV. The chart shows daily closing values against the planned path and the target amount.

The live app records the value per holding; separate deposit and withdrawal types are a demo addition, so that own contributions and returns are separated.

Metrics

  • Progress: current value / target amount.
  • Required per month: remaining amount / months left until the target date.
  • Pace: current value / value expected by today according to the plan (a straight line from the plan baseline to the target). Above 1.05 it is ahead of plan, below 0.95 it is behind.
  • Projected completion: the remaining amount at the average net monthly contribution of the last 6 months at most.
  • Financial Health Score: average pace of the portfolios × 80 + average completion × 20, between 0 and 100 – the same formula as in the live app.

None of the metrics is stored: they are recalculated from the log on every page load, in the live app too.

Data and external services

The live app stores all data on its own server, in its own database. There is no bank connection, no CDN, no external fonts or analytics; values are entered by hand. Its only connection is to the owner's own cash-flow application, from which it takes over the cash balance.

The demo has no database and opens no outbound connections. The browser only sends plain forms to the demo's own server; there are no background requests, and cookies are used only for login and language choice.

Back to the demo