Introduces retirement and FIRE (Financial Independence, Retire Early)
planning as a new top-level feature in the sidebar navigation.
Key features:
- RetirementConfig model: stores retirement planning parameters per family
(birth year, retirement age, target income, pension system, etc.)
- PensionEntry model: tracks pension statements (Renteninformation) over time
with pension points, current/projected monthly pension
- German GRV pension calculations:
- Estimated monthly pension from Entgeltpunkte x Rentenwert
- After-tax pension estimation
- Monthly pension gap analysis
- FIRE calculations:
- FIRE number (capital needed via 4% rule, inflation-adjusted)
- FIRE progress percentage from current portfolio value
- Estimated FIRE date (iterative monthly projection)
- Required monthly savings to close pension gap
- Dashboard view with overview cards, FIRE progress bar, assumptions panel,
and pension history table with add/delete entries
- Setup and edit views for configuring retirement parameters
- Full i18n support (English + German)
- Minitest coverage for models and controller
Database: 2 new tables (retirement_configs, pension_entries) with UUID PKs
Routes: singular resource with setup, add/destroy pension entry actions
This is an initial implementation focused on the German GRV pension system.
The architecture supports extending to other pension systems (custom/other).
Open to suggestions and improvements from the community - contributions for
additional pension systems, visualization charts, or calculation refinements
are very welcome.