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
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.
Finance, maintenance, and meetings agents watch the event bus and do the work the moment it appears — with full transcripts.
Budgets, over-threshold works, debt recovery: agents can only propose, with evidence. One tap approves; code executes exactly what was approved.
Levy apportionment, penalty interest, reconciliation, and vote weighting are deterministic, exhaustively-tested code. The model writes prose, not numbers.
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
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:
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.
"…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.
"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.
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.
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 log | 110 |
| Agent runs (all with full transcripts) | 4 |
| Model tokens, total | ~21,000 |
| Emails drafted & sent | 4 |
| Human decisions required | 1 |
| Money computed by an LLM | $0.00 |
Built for scrutiny
Open source today. Managed service with real NPP/PayID payments — coming to Australian buildings soon.