Your owners corporation, run by AI agents.
Humans only decide.

Levies issued, payments reconciled, arrears chased, contractors dispatched, AGMs noticed and minuted — automatically, on an audit trail you can read line by line. Committee members approve, vote, or escalate. That's the whole job now.

Free for owners corporations — we earn from payment processing and contractor commissions, never from you.

Why it's different

The manager works for the building. Provably.

Traditional strata managers earn commissions you never see, on decisions you never made. GoodStrata inverts it: agents execute, humans decide, and everything — every levy, every email, every model tool-call — lands on an append-only event log.

🤖

Agents execute

Finance, maintenance, and meetings agents watch the event bus and do the work the moment it appears — with full transcripts.

🗳️

Humans decide

Budgets, over-threshold works, debt recovery: agents can only propose, with evidence. One tap approves; code executes exactly what was approved.

🧮

Money is never AI

Levy apportionment, penalty interest, reconciliation, and vote weighting are deterministic, exhaustively-tested code. The model writes prose, not numbers.

🔓

Open & yours

Apache-2.0. Self-host with just Postgres and one Node process — local AI via Ollama included. Or let us run it at goodstrata.com.au.

We tested it the hard way

One MacBook. One local model. A whole building.

We seeded a real-shaped 12-lot Fitzroy walk-up — budget adopted, levies issued, one owner 47 days in arrears, a fresh roof-leak report — and ran the agents on Qwen3-30B in Ollama. No cloud, no API key. This is what happened:

T+0:00

Boot. The dispatcher replays the event log; three agents wake.

T+1:38

Minutes drafted — with nothing invented

Last year's AGM had no recorded attendance, so the meetings agent wrote the truth:

Quorum: Not achieved (0/130 entitlements represented). Business transacted: None.
T+2:21

Arrears final notice sent — correct to the cent

"…your levy payments for Lot 7 are $1,153.85 overdue (47 days), plus $14.86 penalty interest… contact us to arrange payment or discuss a hardship plan."

Figures are computed and appended by code on every money email — hallucination-proof.

T+9:32

Roof leak triaged, contractor dispatched

"Water stain caused by roof leakage (common property) beneath roofline… not internal fittings or owner's lot issue."

The $350 job was under the auto-approve threshold, so the platform dispatched Rapid Roofing with a spend cap. Over-threshold work goes to the committee instead — that routing is code, never the model.

DAY 61

The machine stops and asks the humans

Lot 7 crossed the day-60 line. The finance agent opened a committee decision — "$1,153.85 levies and $19.28 penalty interest. Recommend committee approval to commence recovery" — and halted, awaiting_decision. A committee member tapped Approve. Code sent the formal demand: $1,173.13, 14 days, hardship option stated.

FINALE

The payment reconciles itself

Pat paid by the notice's unique reference. Signature-verified, matched, posted to the lot ledger, split across funds to the cent, receipted, emailed. Status: paid.

Events on the audit log110
Agent runs (all with full transcripts)4
Model tokens, total~21,000
Emails drafted & sent4
Human decisions required1
Money computed by an LLM$0.00

Built for scrutiny

Trust the architecture, not the AI

Strata management that costs your building nothing.

Open source today. Managed service with real NPP/PayID payments — coming to Australian buildings soon.