Skip to main content
ITISYOU
Menu
LivePublicly usable today at the address shown.

Plan

A workspace for modelling cash, revenue, costs, hiring and funding, where every calculated figure — burn, runway, break-even — can be clicked to show the formula, the inputs and the engine version behind it.

Live and usable without an account; a plan stays in your browser until you choose to save it. A first-time visit starts from a genuinely empty plan rather than a pre-filled example, after an earlier version wrongly showed new visitors invented figures.

Last verified

What makes it different

Money is handled as exact whole-unit and exact-fraction arithmetic rather than ordinary floating-point numbers, and every input is classified as an actual, an assumption or a calculation, enforced in the underlying types rather than left to convention. Nothing in the calculation path is produced by an AI model.

Why I built it

I wanted a planning tool that never asked me to trust a number. Most spreadsheets and planning apps show you a runway figure and leave you to take it on faith, and a formula buried in a cell reference is not much better once a model gets complicated. I wanted every figure to be able to show its own working — the formula, the inputs, the engine version that produced it — the same way you would want a calculator to show its steps, not just its answer.

The money handling grew out of the same instinct. A monthly growth rate compounded over years is exactly where an ordinary floating-point calculation quietly drifts from the truth, and that kind of drift is very hard to trace back once it shows up as a reconciliation that does not quite add up. So amounts are held as exact whole units and rates as exact fractions, and rounding happens once, at a named point, rather than a little at a time throughout a calculation.

How it works

You model your business as revenue streams, expense lines, payroll, funding and debt. The engine runs those through a fixed order — revenue and payroll first, since expenses that scale with revenue need something to scale against — and produces cash flow, burn, runway and a break-even estimate. Runway specifically is not a single division: cash is walked forward one month at a time until it crosses a floor you set, because a plan that is not flat month to month gets the wrong answer from a simple divide.

Every input you enter is classified as one of three things: an actual (something that already happened), an assumption (something you are supplying as a planning input), or a calculation (something the engine derived). That classification is visible wherever a figure appears, so a projected number never looks like a fact, and a fact never looks like a guess.

Because the same calculation engine runs in the browser for an anonymous visitor as would run for a signed-in one, signing up later is meant to add saving and syncing rather than change how anything is calculated. History does not move once written: past calculation snapshots stay as they were, and a later change to the engine is recorded as the engine changing, never as quietly rewriting what an earlier figure said.

For developers: provenance and the state the first release shipped in

A calculated value literally cannot be constructed in the codebase without a provenance record attached — a stable method name, the formula in human-readable form, the exact set of inputs that fed it, and the engine version. That is the concrete mechanism behind keeping AI out of the calculation path: there is no route by which an AI-generated number could enter a plan as a calculated figure, because doing so requires machinery a model call does not have access to. A calculation's identity is derived from a hash of its method, scenario, period and sorted input references, deliberately excluding the time it ran, so re-running an unchanged calculation produces the same identity rather than a new one each time.

The most serious problem found during the build was not in this arithmetic at all — the financial engine's golden test models were correct throughout and were never the issue. Shortly after the first production release, a first-time visitor was shown a fully worked example plan, complete with a cash balance, a burn rate and a break-even date, and nothing on screen said it was not theirs. It had been added deliberately, on the reasoning that an empty planning grid tells a new visitor nothing about what the product does. That reasoning did not justify showing fabricated figures indistinguishable from a real financial position, and more than two thousand passing tests had not caught it, because every one of them started from the premise of an already-built plan and none asked what a visitor who had entered nothing should see.

The fix made the state explicit rather than inferred: a plan is now either genuinely empty, an example that was explicitly chosen and permanently labelled as such, or a plan the user actually built, and a dedicated test suite now runs from a completely clean browser with no fixtures at all, checking specifically that a fresh visit never shows a calculated figure the visitor did not ask for. Two more defects surfaced on the deployed site that no unit test had reached, because both tests mocked the exact browser behaviour that was broken — a backup export that had never once produced a working file, and a download that never completed because its cleanup ran before the browser had read the data.

Where it may go

Next: finish wiring the fuller risk and goal-tracking checks into the Risks and Goals screens, which today run a smaller, temporary set of checks directly against a plan's results rather than the complete rule set the engine is designed to support.

Later, if there is real demand for it, multi-currency modelling is a plausible direction, but it needs a proper exchange-rate model with its own provenance and as-at dates behind it, and I would rather leave it out than bolt on a conversion that cannot be traced the way everything else in the plan can.

Who it is for

  • Founders and small teams who want to model cash and runway without handing their numbers to a server first
  • Anyone who wants to check a planning tool's arithmetic by hand, since every figure states the formula and inputs that produced it
  • People who want to compare scenarios — a hire, a funding round, a cost change — and see the reasoning behind each result, not just the number

What it does today

Each of these is tied to the evidence at the foot of this page, checked on the date shown above.

  • Every calculated figure traces to a formula

    A calculated value cannot exist in the system without a record of the formula, the inputs and the engine version that produced it, so clicking a figure shows genuine working rather than a re-run guess.

  • Money is never a floating-point approximation

    Amounts are held as exact whole-unit integers and rates as exact fractions, rounded once, at a named point, rather than accumulating small errors through repeated arithmetic.

  • Actual, assumption and calculation are kept visibly distinct

    Every value in a plan is classified as one of the three, enforced by the underlying types rather than by convention, so a plan never quietly presents a guess as a fact.

  • Works without an account

    A full plan — cash, revenue, costs, hiring, scenarios and runway — can be built and explored entirely in the browser, with nothing saved to a server until you choose to save it.

  • Runway is simulated month by month

    Instead of a single division, cash is walked forward one period at a time until it crosses a stated floor, which is what lets an uneven plan still get an honest runway figure.

What it does not do

The unfinished parts, stated here rather than discovered later.

  • A plan supports a single base currency; cross-currency figures are rejected rather than converted, since a proper conversion needs its own rate history and that is not built yet.
  • The risk checks that run today are rule-based and cover a limited set of named conditions (negative cash, cash below a stated floor, short runway); a fuller set of risk and goal checks is still being built and is not yet wired into every screen.
  • This is a modelling tool: the figures it produces describe what you told it, not a recommendation, and the interface says so where it matters.
  • No independent, outside review of the financial engine has been carried out; what is described here rests on the project's own development records, its hand-checked test models, and what the live site itself shows.
  • An earlier version of the product showed new visitors a pre-filled example plan with no label distinguishing it from a real one; this has been fixed, but it is recorded here because it is the most important thing that went wrong during the build.

How it is paid for

Free

Free to use, with no account required to build and see a full plan, and no advertising on the site.

Evidence

Sources for this page

  • Returns HTTP 200 over a valid certificate. The home page describes financial planning in which every number shows the formula, inputs and engine version behind it, says no account is needed, and says a plan stays in the browser until the visitor chooses to save it. Its content security policy allows no third-party script host.

    Checked 11 September 2026

  • Plan repository and development story — inspected directlyprivate source — described, not linked

    The development story, known-issues register, testing notes and financial-engine documentation were inspected at the latest commit of 31 August 2026. They record exact money arithmetic with no floating point, and a production verification run of 36 checks passed with none skipped.

    Checked 11 September 2026