|
Download PLAN.md from smlflg/FireTracker: direct link, hf CLI and curl.
- Browser
- Download file 4.33 kB
-
https://huggingface.co/smlflg/FireTracker/resolve/main/PLAN.md
- Command line
-
hf download hf://smlflg/FireTracker/PLAN.md
-
curl -L -o PLAN.md https://huggingface.co/smlflg/FireTracker/resolve/main/PLAN.md
4.33 kB
FireTracker β FIRE Dashboard mit ADHS-Twist
Vision
Modularer FIRE-Tracker: 4 Zahlen eingeben, sofort sehen wann du frei bist. Assets (Depots, Immobilien, Cash) als Module β beliebig viele, easy add/remove.
Tech Stack
- Backend: Python 3.12 + FastAPI + SQLite (wie StudyAgent β bekannter Stack)
- Frontend: htmx + Jinja2 + Tailwind CSS (kein JS-Framework)
- Charts: Chart.js (CDN, lightweight)
- Auth: Keine (single-user, self-hosted). Optional spΓ€ter.
Datenmodell
User Profile
monthly_income(netto)monthly_expensesbirth_yeartarget_retirement_age(optional, fΓΌr Coast FIRE)swr(Safe Withdrawal Rate, default 4%)expected_return(default 7% nominal)inflation(default 2%)
Asset (modulare Bausteine)
id,name,type(depot | immobilie | cash | crypto | pension | other)current_valuemonthly_contributionexpected_return_override(optional, pro Asset)notescreated_at,updated_at
Snapshot (monatlicher Verlauf)
id,asset_id,date,value- Ermoeglicht historische Charts pro Asset und gesamt
Expense Category (optional, V2)
id,name,monthly_amount,is_fire_expense(bool β manche Ausgaben fallen bei FIRE weg)
FIRE Metrics (berechnet, nicht gespeichert)
- FI Number:
(monthly_expenses * 12) / swr - Total Portfolio: sum of all asset values
- FI Percentage:
portfolio / fi_number * 100 - Savings Rate:
(income - expenses) / income * 100 - Time to FI: compound growth projection
- Coast FIRE Number:
fi_number / (1 + real_return)^years_to_retirement - Lean FIRE: FI Number mit 80% der Ausgaben
- Fat FIRE: FI Number mit 120% der Ausgaben
Screens (V1)
1. Dashboard (Hauptseite)
- Grosser FI-Percentage Fortschrittsbalken (visuell, farbig)
- FI-Datum prominent ("Frei ab: MΓ€rz 2041")
- Savings Rate Gauge
- Net Worth Trend (Chart.js Line Chart)
- Asset-Uebersicht als Karten (Depot1: 45k, Immo1: 180k, ...)
2. Assets verwalten
- Liste aller Assets mit Type-Icons
- "+" Button zum Hinzufuegen
- Inline-Edit (htmx) fuer Werte aktualisieren
- Monatlichen Snapshot eintragen (oder auto aus letztem Wert)
3. Einstellungen
- Profil-Daten (Einkommen, Ausgaben, Alter)
- FIRE-Parameter (SWR, Return, Inflation)
- Import/Export (JSON)
4. Szenarien (V1.5)
- Schieberegler: "Was wenn ich X mehr spare?"
- Vergleich: aktueller Plan vs. Szenario
ADHS-UX Prinzipien
- 4 Inputs β Ergebnis: Sofort FI-Datum nach Ersteinrichtung
- Progressive Disclosure: Setup-Wizard (3 Steps), Details spΓ€ter
- Micro-Rewards: Fortschrittsbalken-Animation, Meilenstein-Messages
- Smart Defaults: 4% SWR, 7% Return, 2% Inflation vorausgefuellt
- One Action per View: Klare Hierarchie, kein Dashboard-Overload
- Farben statt Zahlen: Gruen = on track, Gelb = langsamer, Rot = Rueckschritt
Projektstruktur
FireTracker/
βββ main.py # FastAPI app + routes
βββ models.py # SQLAlchemy/SQLite models
βββ schemas.py # Pydantic schemas
βββ fire_math.py # FIRE calculations (pure functions)
βββ database.py # DB setup + session
βββ templates/
β βββ base.html # Layout + Tailwind + htmx
β βββ dashboard.html # Hauptseite
β βββ assets.html # Asset-Verwaltung
β βββ setup.html # Ersteinrichtung (Wizard)
β βββ settings.html # Einstellungen
βββ static/
β βββ style.css # Custom styles (minimal)
βββ seed.py # Demo-Daten fuer Entwicklung
βββ requirements.txt
βββ PLAN.md
βββ FOR_SMLFLG.md
Implementation Order
- fire_math.py β Pure FIRE-Berechnungen, testbar ohne DB
- models.py + database.py β Datenmodell
- main.py β FastAPI routes + CRUD
- templates/setup.html β Ersteinrichtung Wizard
- templates/dashboard.html β Hauptseite mit Charts
- templates/assets.html β Asset CRUD
- seed.py β Demo-Daten (Samuels Szenario)
- Polish β Farben, Animationen, Responsive
V2 Ideas (NICHT jetzt)
- Bank CSV Import
- Automatische Snapshots (Cron)
- Expense Categories mit "faellt bei FIRE weg" Flag
- Monte Carlo Simulation
- Multi-User + Auth
- Mobile PWA