SuperNorma is an early-stage personal-finance helper. It gives you a clear, verifiable picture of income, expenses, savings, and pension outlook using deterministic calculations — no black boxes. The pieces:
Calculation core (
src/Mod.res, ReScript): net income, surplus detection, total savings, and compound-interest pension projection across pension types (DB, DC, SIPP, ISA, State)Web form (
ui/webform.html): a static income/expenses entry formPower BI measures (
dax/):TotalSavings,NetIncome, andIsSurplusDAX formulas mirroring the ReScript coreWorkbook templates (
workbook/,data/sample_input/): CSV templates for income and pension modellingAdvisor persona (
advisor/system_prompt.txt): a system prompt that frames an LLM assistant through three lenses — Bookkeeper (accuracy and reconciliation), Forensic Analyst (cause and consequence), and Empowered Advocate (ethical clarity and action)
The advisor persona is not wired to any model; the web form is not wired to the calculation core; there is no CLI, ETL framework, or web app. See TOPOLOGY.md for an honest component-by-component status.
# Install dependencies
bun install
# Build ReScript
bun run build
# Run tests
bun run test
| Financial calculation kernels (the real core) |
| Web-form DOM hook |
| Thin ReScript bindings for Bun/Node runtime APIs |
| Unit and integration tests (bun:test over compiled ReScript) |
| Power BI DAX measures and columns |
| CSV templates and sample input |
| LLM advisor system prompt (not yet wired) |
| Static HTML income form |
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>