Skip to content

Lessons

AI marks [→ CLAUDE.md] candidates for Talbot approve+promote.

  • TypeScript never do math — all financial calc live Python (sd-math). TypeScript/SvelteKit renderer only. Corrected from initial wrong plan: porting VB6 math to TypeScript. [→ CLAUDE.md]

  • Port ALL math as-is — don’t selectively port only Phase 1 strategies. VB6 and Python near drop-in equivalents. Complete port eliminates conditional logic errors, makes TDD against LevPro outputs straightforward.

  • Phase 1 = SD Snapshot, not interactive calculator — Phase 1 static pre-calculated demo-teaser. Full interactive app (live API calls, user inputs) = Phase 2.

  • Task → Project migration — SD App scope initially underestimated as Task. Multi-phase project, needs sd-math design, API design, parallel implementation tracks. Caught, corrected before implementation started.

  • Separate design notes before implementation — sd-math structure and API definition must agree before code written. Foundational decisions, affect both parallel tracks.

  • Normalise fixtures to $100K — varying loan amounts add no testing value, make sanity checks harder. $100K canonical amount for all golden fixtures.

  • 2 one-page summaries + 2 projections enough — 10 bottom-line results + 2 annual schedules cover full math. Intermediate values can’t be wrong while summary correct.

  • 3 significant digits for one-page summaries — dollar precision (e.g., 28,569) noise at overview level. ”% Increase” column = aha moment. Round balances to 3 significant digits (28,600) in one-page summary only. Projection detail tables keep dollar precision.