Skip to content

Latest commit

Β 

History

105 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FUNDerelele 🍨

Scoop your funds into one sweet dashboard. Local-first, Canadian, private.

A personal finance web app for Canadian investors. You only enter transactions β€” everything else (holdings, dashboard, dividends, gains/losses, tax, charts) auto-calculates from them. Live prices come free from Yahoo Finance, and all your data stays on your own computer (a local file β€” nothing is uploaded anywhere).

Built for Canadian accounts (TFSA / RRSP / FHSA / RDSP / Non-Reg), CAD + USD holdings, and TD Direct Investing / CIBC Investor's Edge imports.


What you need

  1. Python 3.10 or newer (3.13 recommended) β€” https://www.python.org/downloads/
    • On Windows, during install tick "Add Python to PATH".
  2. An internet connection β€” for live prices/FX (Yahoo Finance) and the charting library (loaded from a CDN).
  3. A web browser (Chrome, Edge, Firefox, Safari β€” anything modern).

That's it. No accounts, no API keys, no paid services.


Setup (one time)

1. Get the code. Either download the ZIP from GitHub (green Code button β†’ Download ZIP) and unzip it, or clone it:

git clone https://github.com/toma-nator/FUNDerelele.git
cd FUNDerelele

2. (Recommended) Create a virtual environment β€” keeps these packages separate from the rest of your system:

python -m venv .venv

Activate it:

  • Windows: .venv\Scripts\activate
  • macOS / Linux: source .venv/bin/activate

3. Install the dependencies:

pip install -r requirements.txt

(If pip complains it's out of date: python -m pip install --upgrade pip, then retry.)


Run it

python app.py
  • On Windows you can instead just double-click run.bat.
  • Then open http://localhost:5000 in your browser.
  • To stop it, press Ctrl+C in the terminal (or close the window).

The first run creates an empty database (instance/finance.db) automatically.


First steps in the app

  1. Add your transactions (the app calculates everything from these):
    • Import tab β†’ upload a TD or CIBC export (CSV for both, PDF for TD), or download the blank CSV template, fill it in, and import that.
    • Or add them by hand on the Transactions tab.
  2. On the Accounts tab, set each account's type (TFSA / RDSP / …) and time horizon β€” these drive the tax, contribution-room, and liquidity views.
  3. Open the Settings tab to set FX preferences and your contribution-room info.
  4. Explore the Dashboard (customizable), Charts, Dividends, Performance, Tax & ACB, and the rest.

Your data & backups

  • Everything lives in instance/finance.db on your machine. It is never uploaded and is git-ignored, so it won't end up on GitHub.
  • In Settings β†’ Data & Backup you can:
    • Export transactions (CSV) β€” a complete, re-importable copy.
    • Download / Restore a database backup β€” a full snapshot you can restore later.
    • Load sample data β€” fill the app with a demo portfolio (5 accounts, ~5 years of transactions, GICs and a watchlist) to explore every feature. Reset it to empty before adding your own.
    • Reset Database β€” wipe everything back to a clean slate (with confirmations).

Tip: before you experiment (Reset, Load sample data, Restore), use Download database backup first β€” restoring that .db brings everything back exactly as it was.


Local-only & disclaimer

  • This app is meant to run on your own machine for one person. It has no login and a single shared database, so don't host it on a public/shared server β€” anyone who could reach it would see and edit your finances.
  • Not financial or tax advice. Holdings, gains/losses, ACB, and tax figures are estimates for personal tracking β€” verify anything important against your broker and the CRA.

Troubleshooting

  • python not found β†’ Python isn't installed or not on PATH. Reinstall and tick "Add Python to PATH" (Windows), then open a new terminal.
  • pip install fails β†’ run python -m pip install --upgrade pip and try again.
  • Prices show blank / "β€”" β†’ check your internet connection; Yahoo Finance may be briefly rate-limiting. Prices refresh automatically every few minutes.
  • Port 5000 already in use β†’ close whatever's using it, or stop the other copy of the app.

Tech (for the curious)

Python + Flask + Flask-SQLAlchemy + SQLite, vanilla HTML/CSS/JS with Chart.js, yfinance for prices. No build step, no front-end framework β€” just python app.py.

About

FUNDerelele β€” scoop your funds into one sweet dashboard. 🍨 Local-first, Canadian, private.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages