Spartan Wealth IntelligenceHow we would build it
Open the working concept

Prepared for Scott Christensen · Spartan Welding & Diving · 20 September 2026

Your brief, answered line by line.

You wrote the hard part yourself: the system should calculate scenarios rather than have a model invent financial numbers. That single sentence is the architecture. Below is every requirement you set out, what it means in code, how the one agent answers it, what you own at the end, and the order we would build it in.

Stage 1Spartan Agent, on your real data
Two entitiesNew Zealand and Australia, separately and together
OwnershipYours from the first commit
AnywhereDesk or phone, typed or dictated, read back aloud
AnswersTyped or spoken, and already drawn on twelve dashboards
ModelsFour providers, your order of preference

01 · The rule the whole system is built on

The model never produces a number. It reads numbers that arithmetic produced, and puts them into words.

Every figure you will ever see - usable cash, the ninety-day line, a debtor's expected pay date, a twenty-year scenario - comes out of ordinary, tested code with named inputs. The reasoning layer sits above it and does the work a model is genuinely good at: reading a set of figures, noticing what changed, explaining it in a sentence, and deciding which calculation to run next.

Two practical consequences. A figure can always be traced down to the ledger rows that made it, so it can be checked against your own bank statement. And swapping the model - a different vendor, or your own hardware later - changes the wording of an answer and never the answer itself.

Reasoning layer · the agentsUnderstands the question, picks the calculation, explains the result, flags what is worth your attention. Interchangeable by design.words
Deterministic calculation engineCash, obligations, ageing, projections, margins, amortisation, scenarios. Tested code, versioned definitions, reproducible output. No model call inside it.figures
Your data, read-onlyBoth accounting ledgers, bank feed balances, payroll and tax filings, stored in your own database with the date each row was read.facts
"The system should calculate scenarios rather than have an LLM invent financial numbers. I want a proper deterministic financial/calculation layer underneath the AI reasoning layer."Scott Christensen, in the brief

02 · The nine questions you asked before proceeding

Answered here, in the order you asked them

The two that need your ledger in front of us - the fixed price and the timeframe - are answered in writing after the first step below, because a number named before anyone has seen the data is a guess wearing a suit.

Question 1Proposed architecture for Stage 1, and how it extends to the full system
Three layers, section 01. Stage 1 builds the bottom two and one agent; every later agent is another caller of the same engine, which is why Stage 2 adds scope without a rewrite.
Question 2A fixed price, or a clearly scoped estimate, for Stage 1
A fixed price for the whole of Stage 1, written after the definitions step, when it can be defended line by line rather than padded for the unknown.
Question 3Estimated timeframe
Section 09 sets out the sequence and what lands at each step. The dates come with the fixed price, from the same conversation.
Question 4Exactly what you own at completion
Section 07, as a list. The short version: everything, and from the first commit rather than at handover.
Question 5Unavoidable ongoing cloud, API and software costs
Compute, storage and model usage, billed by those vendors to your own accounts. There is no licence to us and no platform fee. Section 06 shows how your existing plan seat can carry the routine load.
Question 6Whether it can migrate to your own hardware later
Section 08, and it answers more than the mechanics: containers and one model interface make the move a configuration change, and the same section says which parts we would move home and which we would leave hosted.
Question 7Examples of similar financial, accounting and AI-agent systems built before
Section 11, and we would rather show one running than describe it. Both of us have spent about twenty-five years inside systems where production, stock, costing and the ledger live in one structure.
Question 8Your security approach
Section 07, your own list, each line answered with how it is enforced in the build rather than promised in a document.
Question 9What documentation, handover and training are included
Written definitions, architecture and runbook, deployment instructions you can execute yourself, and a working session on screen at each step - included, not an extra line.

03 · Stage 1 · the Spartan Agent

Your eight questions, and what each one actually means in arithmetic

This is where a system like this succeeds or quietly fails. Not in the AI - in the definitions. Each line below is agreed with you in writing before it is coded, and each is reconciled against your own bank statement afterwards. One confidently wrong figure is enough to stop trusting the whole thing, so the reconciliation is part of the build rather than a test at the end.

01How much cash can I actually use today?
cleared bank balance less your operating buffer less tax and payroll already earned in the period less creditors genuinely due in the window. Uncleared deposits are shown and excluded, never counted.
02What is my debt and obligation position?
Every commitment grouped by what it is - tax, payroll, superannuation, trade creditors, finance - each traced to a filed return, a payroll run or a supplier invoice, with its due date.
03What does cash flow look like over 30, 60 and 90 days?
Opening cleared cash, plus receipts dated by how each customer actually pays rather than by the terms printed on the invoice, plus contracted work, less every dated obligation and the running cost of the business.
04How much is committed to tax, wages and creditors?
Taken from the returns and the payroll themselves. Two countries means two tax regimes and two filing calendars, so the NZ and AU lines are computed on their own rules and never averaged into one percentage.
05Who owes me, and when will it really arrive?
Standard ageing buckets, plus an expected date per invoice = issue date + that customer's own measured average from their payment history. Drift in that average is itself a flag.
06Revenue, gross margin, operating profit, cash conversion
Same periods, same accounts and same rounding as your ledger, so it ties to what your accountant produces. Cash conversion is weighted by invoice size, not a simple average of days.
07Flag unusual spending, falling margins and cash-flow risk
Thresholds you set, measured against a rolling baseline: a cost category outside its own range, a margin trend across three months, customer concentration, and the projected balance approaching your buffer.
08Each company on its own, and both together
Separate datasets, separate tax calendars, separate currencies. Consolidation is a view on top at a dated published rate stored with the answer - never a merge underneath, so any group figure can be taken back apart.

04 · The agent framework

One agent, holding every domain - not five you have to manage

Your brief asks for five specialist agents, and on a diagram five is the obvious shape. We would build one, and this is the one place where we are proposing something different from what you wrote, so it is worth saying plainly why.

A question does not know which agent it belongs to. "Can I afford the new truck this quarter" is cash, obligations, debtors, risk and both companies at once. With five agents that question has to be split, routed, answered five times and then reassembled by something - and whatever does the reassembling is the sixth agent nobody planned for. With one agent it is simply a question, and the answer comes back whole.

Five agents

  • Five places where the same figure can come out differently, and nothing on the screen tells you which one is right.
  • Five sets of rules and prompts to keep in step; they drift apart quietly, and the day you notice is the day one is wrong.
  • You have to know which one to ask before you can ask - a menu between you and your own numbers.
  • Anything that crosses two domains needs a router, a hand-off format and a tie-breaker. That is most real questions.
  • Five things to build, test, watch and pay for.

One agent

  • One answer, from one set of arithmetic. A figure cannot disagree with itself because there is only one of it.
  • One set of definitions, agreed with you in writing and held in the engine, not in five prompts.
  • You ask. There is no menu, no routing and nothing to learn before the first question.
  • A question spanning cash, tax and debtors is answered by using all three, and reconciled in the same pass.
  • Less to build now, and less to keep running for the years afterwards.

The specialisation does not disappear - it moves down a layer. This is the part that makes one agent possible rather than merely simpler. Each domain below is a set of agreed definitions and a set of tested calculations in the engine, and that is where a specialist's knowledge actually lives: in how usable cash is defined, how a debtor's expected date is measured, which tax calendar applies to which entity. The agent's job is to know which calculations a question belongs to, run them, and explain what came back. So you are not trading depth for simplicity - the depth sits in code that can be tested, versioned and checked against your bank statement, which is a better place for it than inside five conversations.

And it is not a one-way door. If a domain ever genuinely needs to run on its own - its own model, its own machine, its own release cycle - it can be split out later without a single figure changing, because the figures were never the agent's to produce. Starting with one and splitting when there is a reason is cheap; starting with five and merging them is not.

Cash Stage 1

Usable cash, the buffer, the 30/60/90 view, the lowest point ahead, and what it would take to go below it.

Debtors Stage 1

Who owes you, how each customer actually pays, when the money lands, and whose behaviour is changing.

Obligations Stage 1

Tax, payroll, superannuation, creditors and finance, on each country's own calendar.

Risk and anomalies Stage 1

Unusual spending, margin drift, customer concentration, and cash approaching the buffer.

Consolidation Stage 1

Each entity on its own, and the group on one line in one currency at a dated rate.

Property Stage 2

Holdings, mortgages, rates and insurance, rental yield, equity, amortisation schedules.

Business operations Stage 2

Jobs and utilisation, equipment, quoted price against the cost the job actually carried.

Capital allocation Stage 2

Sell, repay, reinvest, expand - scenarios over 1, 5, 10 and 20 years, with sensitivity and stress tests.

Wealth Stage 2

The whole position across companies, property and investments, and what it looks like under each scenario.

And you are not at a desk for most of the working day, so the screen is built for a phone first: the same agent, the same figures, in a browser on the handset you already carry. You hold the microphone and ask the question out loud in your own words instead of typing it, and when your hands are busy the answer is read back to you. Voice in and voice out are part of Stage 1 rather than a later idea - on a wharf, in the ute between jobs, the question you would have forgotten by the evening gets asked and answered where it occurred to you.

Every domain above calls the same engine, which is also what makes Stage 2 an extension of this rather than a second project: the property, capital-allocation and wealth work adds definitions and calculations to a layer that already exists, and the agent gains them without being rebuilt.

05 · Dashboards

The questions you ask every week should not be questions at all

Asking is right for the question you ask once. For the ones you ask every Monday, asking is a tax on your time: you have to remember the question, type it, and wait. So a large part of your eight questions is delivered as dashboards instead - the same arithmetic from the same engine, computed ahead of you and already on the screen when you open it. Nothing is generated twice and nothing can disagree: a tile and an answer are two drawings of one calculation.

They are grouped, because a single screen of forty tiles is a screen nobody reads. Twelve boards in three families - the money the business makes, the market it sells into, and what could take it away - and each board is one question already answered:

Money what the business earns, holds and owes

Profit

Thirteen months of revenue, gross profit and margin on one chart, plus operating profit by month. A seasonal trade read as a trade, not as whichever month has just ended.

Cash and liquidity

Usable cash and the runway it buys, the lowest point in ninety days, what is overdue, what is committed - and the ninety-day line with money in, money out and the closing balance on it.

Working capital

How long your money spends inside somebody else's business at both ends: days to be paid, days you take to pay, and the gap you are funding between them.

Costs

Every category against its own twelve-month behaviour, with the cost of doing the work separated from the cost of having a business at all.

Debt and finance

Every facility, what it costs, what is fixed and what can move - and the next twelve months of repayments with interest and principal apart.

Market who buys, what they buy, and where

Customers

Who is new, who has gone quiet, who has left, what margin each one actually carries, and whether the eighty-twenty still holds.

Services

Welding, diving, maintenance, inspection, plant hire - which work earns and which merely turns over. Products sit here too when there are products.

Quotes and work in hand

The only forward numbers that are not a guess: a quote was sent or it was not, won or lost, and what is still open.

Territory

The same revenue and margin cut by where the work was done, this year against last, on each side of the Tasman.

What to watch what could take it away

Risk register

Every exposure the ledger can measure, scored by the same rule every week - concentration, margin drift, cash cover, dates coming up.

People and hours

What an hour earns, how many of them were chargeable, and what the wage bill takes out of every dollar.

Property

The holdings outside the trading companies - value, debt, yield and what the interest takes. Stage 2 fills it; the board is built now so it has somewhere to land.

Every one of the twelve has the same three buttons at the top: New Zealand only, Australia only, both together. That is not a filter bolted on at the end - it is the same entity rule the rest of the system obeys, so "both" converts at a dated published rate stored with the result and can always be taken back apart.

And they grow. Each new source you connect adds tiles and cuts to the groups that already exist rather than a new screen to learn: job costing gives profit by job and quoted against actual, timesheets give labour recovery, equipment hours give the real cost of a machine, the property book gives yield and equity beside the trading numbers. The dashboards are built in Step 3, so you have them on your own figures before Stage 1 is finished.

06 · Vendor neutrality, made operational

Four providers, in the order you choose

Model access sits behind one interface. In your settings you rank the providers, and the first one available is the one that writes the words. If it is unavailable the next takes over, and the answer is identical, because the figures were never the model's to produce.

The fourth option is the one most proposals leave out: the subscription you already pay for. A plan seat can drive the reasoning layer directly, the way our own studio runs, so everyday questions carry no per-answer cost and the metered keys sit underneath as the fallback for heavy work.

The same interface is how your own hardware joins later: a local model becomes another entry in that list, ranked wherever you want it.

1 Anthropic subscription

The plan seat you already hold. No per-token billing, no second invoice, and the routine load lives here.

2 Anthropic API key

Your own key and your own billing account, with usage visible in your console.

3 OpenAI API key

Fallback for long documents and heavier reasoning.

4 Google Gemini API key

Fallback, and the cheaper option for bulk classification work.

07 · Ownership, security and the things you were explicit about

Your list, and how each line is enforced

What is yours

  • Source code, in your own repository, from the first commit rather than at handover.
  • Cloud accounts and the project in your name, billed to you, with us as invited users you can remove.
  • The database, its schema and its backups.
  • Prompts and agent configuration, stored as versioned files in the repository, readable and editable by you.
  • The integrations, registered under your own developer accounts.
  • Documentation and deployment instructions you can execute without us in the room.
  • The written definitions - the most valuable artefact of Stage 1, and the one that survives any change of technology.

Fixed price with handover. Support afterwards is optional and buys nothing the system needs in order to keep running: stop paying us tomorrow and everything continues, because it runs in your accounts on your own code.

How the security requirements are met

  • Read-only integrations. The permission granted to each connection is read-only, so it is the platform enforcing it rather than our code behaving well.
  • No banking credentials reach an agent. The system reads the accounting ledger and the bank feed your accounting software already receives.
  • No autonomous payments. There is no payment function in the codebase at all, so there is nothing to disable, misconfigure or talk into running.
  • Secrets in a managed secret store, injected at runtime, rotatable without a deployment, and absent from the code, the logs and the database.
  • AU and NZ data separated into their own datasets, each in its own region, joined only in a consolidation view you ask for.
  • Audit logging. Every question, the figures returned, the source rows behind them, the definition version and which model spoke - append-only.
  • Your data trains nobody's models. Set in the provider configuration and stated in the contract.
  • Backups and access control. Point-in-time recovery on the database, least-privilege service accounts, and access you grant and revoke yourself.

08 · Your own hardware, and what it is genuinely good at

Build it first, then decide - and measure the box before you buy it

The reasoning in this system is small. A few hundred questions a month, each one a page of text, sitting on top of arithmetic an ordinary machine does in milliseconds. Cloud Run, the service you have already started on, scales to zero between questions, so the compute is cents a day on your own account with a cap you set, and model usage is the same order. That is the honest reason to build first: there is a real chance the machine turns out not to be needed for this at all, and that is a better thing to learn before the money is spent than after.

Measure the workload before the purchase

Two things decide whether a 128 GB desktop box answers quickly: the memory bandwidth it reads a model's weights through, and how far the software stack has come for its processor architecture. On the Spark both are real constraints today - it fits large models comfortably and generates their text slowly - so fitting and answering are two different questions. We would put your actual workload on one and measure it before you commit.

Where a machine of your own earns its keep

High volume, narrow work, running all day, never leaving your building: reading invoices and supplier statements into the ledger, pulling dimensions and revisions off drawings, a quoting calculator built from the orders your customers have actually placed. Purpose-built open models are genuinely good at these, and this is the work we would point a box of yours at first.

Where the hosted models stay ahead

Usable cash, obligations, ageing, explaining an anomaly and arguing a scenario are judgment on top of arithmetic. For that class of work the strongest hosted models are still clearly ahead of anything that runs locally - an Anthropic key or your existing subscription, Fable 5.1 at the top tier, with a second provider configured behind it.

None of this is a fork in the road. The engine, the orchestrator, the database and the knowledge base each run as a container, a local model is one more entry in the provider list, and the data is ordinary PostgreSQL and plain files - so moving a piece home is a configuration change and a data move rather than a rebuild. You move one piece at a time, starting with the document work, while the calculation layer stays exactly where it is. And because no figure ever came from a model, swapping one changes the wording of an answer and never a number.

09 · The order we would build it in

Each step ends with something you can use, not a status report

Small strong foundation first, exactly as you described. Nothing below depends on the step after it, so you can stop at any point and keep everything built so far.

Step 0 · the definitions

Agree what every word means, in writing

Usable cash, committed, due, expected, revenue, margin. Your buffer, your thresholds, your filing calendars. Done on a screen share against your own New Zealand ledger, because definitions argued in the abstract come apart on contact with real rows.

You get: a signed definitions document, and the fixed price and timeframe for the rest of Stage 1.
Step 1 · the foundation

Read-only connection, your database, your secret store

The NZ ledger read into your own project on a schedule, every row stamped with when it was read. Secrets in the store, audit logging on from the first query, backups configured.

You get: your ledger in your own database, and the infrastructure the rest sits on.
Step 2 · the calculation engine

The eight answers, as tested arithmetic

Each definition becomes a function with test cases, and every result is reconciled against your bank statement and your filed returns before anything is put in front of a model.

You get: correct figures you can check yourself, with the source rows beside them.
Step 3 · the agent and the dashboards

Ask it in your own words - and stop having to ask

The reasoning layer on top, the provider list configured in your settings, and the agent explaining what the figures mean and what changed since last time - asked by typing, or dictated on your phone and read back aloud. The same step builds the twelve dashboards, so the questions you would otherwise ask every week are already on the screen when you open it, with the New Zealand / Australia / both switch on every one of them.

You get: the screen you have just been using - the agent and the dashboards - running on your real New Zealand numbers.
Step 4 · the second company

Australia, then the group view

The AU entity connected on its own credentials and its own dataset, its own tax calendar in the engine, and consolidation on top at a dated published rate.

You get: both companies separately and together, which completes Stage 1.
Step 5 · watching, not just answering

The flags arrive before you ask

Thresholds you set, checked on a schedule: a cost outside its range, a margin trend, a customer drifting, cash approaching the buffer. One short morning message rather than a dashboard you have to remember to open.

You get: the system telling you what changed, on its own.
Stage 2 · when Stage 1 has earned it

Property, capital allocation, wealth

The same engine grows an amortisation schedule, a rate and tax assumption set, growth, yield and inflation, and the scenario runner over 1, 5, 10 and 20 years with sensitivity and stress testing. "Sell property A, repay five hundred thousand of commercial debt, invest the remainder" becomes a scenario with named inputs, a reproducible result and a stored version - so an answer given a year ago can still be explained.

You get: capital decisions compared on the same numbers, priced and dated.

10 · What is still open, from our side

Nine answers from you, and the first step can be priced

You asked nine questions and they are answered above. These are ours, and none of them is work: each is a sentence from you that fixes an arithmetic definition. We would rather ask them now than meet them inside your data, because a definition discovered late is the one that makes a confident answer wrong.

Open 01Which ledger each company keeps its books in
And whether Australia uses the same chart of accounts and the same codes as New Zealand. That single answer decides whether consolidation is a mapping table or a translation layer, and the engine needs it before it can add anything up.
Open 02The twenty thousand buffer: which currency, and whose
Held per company, or across the group. It is subtracted before every usable-cash answer you will ever read, so it is a definition rather than a setting.
Open 03The filing calendar on both sides, and who prepares it
Tax and payroll dates in each country. The obligations already earned inside a period come off usable cash, and their due dates are what shape the thirty, sixty and ninety day view.
Open 04Whether the two companies invoice each other
Work billed between them has to come out of the group view, and the rate used to consolidate, with the date it is taken at, has to be one written rule rather than two habits.
Open 05Where payroll lives, and how it reaches the ledger
As one journal or line by line. It decides whether committed wages can be read straight from the ledger or have to be read from the payroll system and reconciled against it.
Open 06The customers who pay differently from their terms
Retentions, progress claims, work billed on completion, anyone who is reliably early or reliably late. Expected receipts are weighted by behaviour rather than by the terms on the invoice, and you know that behaviour before any system does.
Open 07Who else should see the answers, and how much
An accountant, an administrator, Australia on its own. Access is set per entity at the start, and every question asked and every figure returned is in the audit log from the first day.
Open 08Where the property, mortgage and equipment data sits today
Stage 2 loads it. A spreadsheet is a perfectly good answer - it only changes what the first step of that stage does.
Open 09The Spark: already bought, or still ahead of you
If it is still ahead of you, we would rather measure your real workload on one first. Section 08 sets out what we would run on it and what we would leave hosted.

Those answers, the read-only connection to the New Zealand entity and your buffer and threshold figures are the whole of what the first step needs from you.

11 · Who would be building it

Both of us are architects, and both of us answer for accounts

We are twin brothers in Brisbane, and each of us has spent more than twenty years doing two jobs at once: writing production software, and answering for real accounts, month-end and audits. Alex built the accounting system a packaging group runs in twenty of its plants. The system Sergii built for an international voice business ran the whole company, a hundred people working inside it every day, and was afterwards sold and implemented for more than thirty other companies in the same industry.

The longest-lived belongs to a pasta manufacturer: two hundred people, about forty million dollars a year, and for twenty-five years the whole business has run on a system Sergii wrote for that plant and has looked after every one of those years - payroll, contracts, the production plan, barcodes and the hand-held terminals on the shop floor, tax planning, profit, the balance sheet and the P&L, all off the same numbers. The layer built on top of it now prices every product from its real cost and names, each day, the lines selling below their thresholds, without waiting for the month to close.

That is the same problem as yours, in a different industry: a deterministic layer that owns the arithmetic, and a reasoning layer that explains it. With Claude Code we build whole systems - front end, back end, integrations between systems built decades apart, and the agents themselves - and we run them as a fleet, more than a hundred agents on a single build, in parallel and under review. If it is easier to see one running than to read about it, say the word and we will show you.

The next step is small, fixed price, and on your New Zealand ledger

The definitions agreed line by line and written down. A read-only service that produces usable cash, the committed obligations, the debtor ageing with expected dates and the ninety-day projection - reconciled so you can check it against your own bank statement. And out of that, the fixed price and the timeframe for the rest of Stage 1, with the fee for the step credited against it.

Everything it produces - the code, the definitions, the deployment - is yours whether or not you go further. What we need from you to start is the read-only connection to the NZ entity, your buffer and threshold figures, and an hour on a call where we walk the definitions against real rows.