← All projects

Product study · Decision support

Swiss Retirement Planner

Compare Swiss retirement strategies with reproducible calculations and adviser-ready reports.

01 / The task

What needed to work

Swiss retirement analysis combines pension choices, dated evidence, taxes, fees and portfolio cash flows. This tool ties each scenario to its source inputs and calculation run.

My role

I built the local case workflow, accounting and portfolio engines, historical simulation and adviser report generator.

02 / Decisions

Where judgment mattered

Use exact minor-unit accounting

Use minor-unit money values and explicit Decimal rounding in portfolio and ledger calculations.

Hash and reuse one case snapshot

Hash the case inputs at compilation, then carry that same snapshot through execution and reporting.

Project approved fields into reports

Build reports from verified run files and project only fields allowed by the selected report profile.

Run historical samples through the same portfolio engine

Sample synchronized historical blocks and run each sample through the same deterministic portfolio engine.

03 / Agent contribution

How the work was directed

I use AI coding assistants to build independent projects, while owning product decisions, review and testing.

Owner account · General working method

These product decisions are grounded in the implementation and capture notes. The broader workflow is my account of how I work across these projects.

04 / Verification & result

What the evidence supports

Implemented functionality

  • Source-backed case inputs. Store source documents and hashes, label evidence types and carry verification decisions into each case.
  • Portfolio calculations. Run dated portfolio and ledger events with exact minor-unit accounting, explicit ordering and residual checks.
  • Adviser report. Generate an offline HTML report from verified runs and an adviser-specific field allowlist, with linked metrics and scenario results.

Implementation inspected

The screenshots show demo data, public observations or labelled report presentations, as described in each caption.

Supporting detail

Technology

  • Python 3.13
  • Pydantic 2
  • Decimal exact accounting
  • NumPy (stochastic boundary)
  • PyMuPDF (PDF intake)
  • openpyxl (XLSX intake)
  • Offline HTML report rendering