Behind the Scenes
    19 April 2026
    7 min read

    Vibe Coded With Claude

    How this tool was built — and why you should still check the maths

    My day job is data in the energy industry. I can code — just not this kind of application. Yet this pension drawdown simulator runs 1,000+ Monte Carlo simulations, handles UK income tax, annuity pricing, inheritance tax, and more. How?

    AI wrote most of the code. I directed it. That's worth being transparent about, because it affects how you should use this tool — and frankly, how you should think about every AI-assisted tool you're about to see a lot more of.

    What is "vibe coding"?

    The phrase comes from a tweet by Andrej Karpathy (ex-OpenAI, ex-Tesla) describing a new way of building software: you describe what you want in natural language, the AI writes the code, you check the output and iterate. It's a genuine shift. Software used to be gated behind "can you write code?" Now it's gated behind "can you articulate what you want clearly, and can you tell when the AI is wrong?"

    The new skill isn't coding — it's specifying and verifying

    Vibe coding doesn't eliminate expertise. It shifts where it matters. The hard part is knowing what to build, describing it precisely enough for AI to get it right, and catching the mistakes. None of that is trivial.

    The journey: spreadsheet → bigger spreadsheet → Replit → Claude

    It started, as these things often do, with a simple spreadsheet. One pot, one withdrawal rate, a column of years, and a running balance. Five minutes of work to answer "will this last?" — and just accurate enough to be dangerous.

    Then it got complicated. Inflation columns. A second tab for partner pot. Separate rates for pre- and post-retirement growth. UK income tax bands looked up with nested IFs. State pension timing. The 25% tax-free rule. By the time I'd bolted on Monte Carlo style random draws — a thousand copies of the same sheet, one per simulation — the workbook was a labyrinth. A single typo in one cell would silently corrupt a whole column and I'd only spot it when a number looked slightly off. Sound familiar? It should — it's the same subtle-bug problem as AI, just with formulas instead of code.

    So in early 2024 I moved it onto Replit Agent. Replit's AI was great for getting off the ground — it scaffolded the React app, wrote the initial Monte Carlo engine, and handled basic UK tax logic. For a first attempt at "let me see if I can turn my spreadsheet into an actual tool," it was remarkable.

    But as the tool grew more complex — two-person households, Scottish tax bands, state pension timing, real-vs-nominal charting — I started hitting the limits. Changes in one file would break something subtle in another. The AI lost context across long refactors. Bugs crept in and I'd only notice weeks later when a number looked off.

    In 2025 I moved the project to Claude Code — Anthropic's AI coding CLI. The difference was immediate. Claude could hold the entire project in its head, reason about subtle interactions between files, and — critically — challenge my assumptions when I was about to make a mistake. The annuity features, the inheritance tax calculator, the longevity risk analysis, and the planner all came from Claude sessions.

    If you've been on this site lately you'll have noticed the pace of improvements. That's mostly what AI has unlocked: I can think of a feature over coffee and often have it shipped by lunch.

    What AI unlocks for non-coders

    • Maths-heavy logic becomes cheap. Monte Carlo simulation, progressive tax calculations, actuarial pricing for annuities — I don't have to implement any of this from scratch. I describe the rule, AI writes the code, I verify.
    • Edge cases get handled. "What if the user retires before April 2028 but after minimum pension age rises from 55 to 57?" AI thinks of these. I often wouldn't.
    • UI polish is no longer a gating factor. Charts, animations, responsive layouts — things that used to take me weeks take hours.
    • I get to focus on the product, not the syntax. My time goes into "what should this tool actually answer?" not "why is this TypeScript error yelling at me?"

    This isn't unique to me. I think the next few years are going to see an explosion of niche tools built by domain experts who aren't professional software engineers — tax advisers, mortgage brokers, medical specialists, teachers — all of whom now have the means to ship real software. That's a good thing. Software that understands a tiny slice of the world deeply has always been more useful than generic tools trying to do everything.

    But here's the catch — AI gets things confidently wrong

    The biggest risk isn't dumb mistakes — it's subtle ones

    AI is fluent. When it writes a bug, the code looks right. The calculator runs without errors. The numbers just happen to be slightly wrong.

    Some bugs that lived in this tool at various points (all fixed now):

    • A contribution growth rate of 0% was treated as "unset" and silently defaulted to 5%. If you actually meant zero, you were getting projections based on 5% growth without knowing it.
    • Lump sum withdrawals were displaying with three decimal places (e.g. £55,441.274) because a rounding step was missed. Easy to miss visually; jarring when you noticed.
    • Joint-life annuity rates were initially applied symmetrically to both partners — which is actuarially wrong. The younger partner's rate should be higher than the older partner's, reflecting different survivor-benefit exposures.
    • In "annuity only" mode, the simulation loop broke out after year 0 because both pots were £0 after annuity purchase. The charts only showed one data point even though the annuity was paying income for 25 more years.
    • The "Success Rate" metric showed 0% in annuity-only mode because it was defined as "does the pot survive?" — but with an annuity, the pot being £0 is by design, not failure.

    Every one of those shipped at some point and was caught later. Each feels obvious in hindsight. The subtle-bug problem is real with AI, and it's going to get worse as more people build more things faster.

    What this means for you, the user of any AI-assisted tool

    Healthy scepticism is a feature, not a sign of distrust

    • Compare important numbers against at least one other tool (MoneyHelper, Hargreaves Lansdown, Which?, a spreadsheet)
    • If a result surprises you, investigate — don't assume the tool is smarter than your intuition
    • Remember that tax rules, annuity rates, and life expectancy tables change — what's accurate today may be stale next year
    • For life-changing financial decisions, use a qualified adviser. A calculator is a thinking tool, not a plan

    I use this tool for my own pension planning. I also compare every important result against two or three other sources. You should too. Not because this tool is bad — I've poured a lot of care into it — but because no calculator should be trusted absolutely. Especially one that one person built in evenings and weekends with an AI co-pilot.

    The bigger picture

    Software is becoming something people can make, not just consume. That's exciting. My hope for this tool is that it helps people think about retirement more clearly — particularly around the decisions that competitor tools skip, like hybrid drawdown-plus-annuity strategies, the April 2027 inheritance tax change, and the longevity-risk question that annuities uniquely solve.

    My ask is that you approach this tool — and every AI-built tool you encounter — with the same healthy scepticism you'd apply to advice from a confident stranger. Trust, verify, then decide.

    A note on transparency

    The full calculation engine — Monte Carlo simulation, tax logic, annuity pricing, IHT calculator — is all client-side JavaScript. If you want to see how any number is computed, open your browser's developer tools and read the code. Nothing is hidden on a server. This is a personal project, not a commercial one; transparency is the least I can offer.

    Want to play with it?

    Head to the calculator and try it, or let the planner build the plan for you. Model drawdown, a hybrid annuity strategy, and an annuity-only setup. Compare the longevity risk numbers. Switch to the inheritance tax tab and see what your estate looks like at each life-expectancy percentile.

    And if you find a bug — which given the nature of AI-built software, is a real possibility — please tell me. It'll get fixed faster than any software you've ever reported a bug to, because it's just me and Claude.

    This site uses privacy-friendly analytics (no cookies) and may show ads from Google. Accepting enables advertising cookies. Rejecting keeps only what's strictly necessary. Privacy policy