Business model
What Auslandscape actually charges for
Three revenue lines, three different units of measure, and the biggest one over time is the only one where the platform never touches the money. A teardown of our own landscaping marketplace, read out of its pricing code rather than its landing page.
Most pricing teardowns read the pricing page. This one reads pricing.js, because the landing page tells you the numbers and the code tells you the unit — and the unit is where the business model actually lives.
Auslandscape is our landscaping marketplace: homeowners and landscapers share a 3D design workspace, agree a scope, and run the job. It bills three separate ways, and each one measures something different.
Line 1 — subscription, priced per concurrent project
| Plan | Price | What the number counts |
|---|---|---|
| Starter | A$59/mo | 1 active project at a time |
| Growth | A$79/mo | up to 3 active projects at once |
| Unlimited | A$199/mo | unlimited active projects |
Not per seat. Not per lead. Not a percentage of revenue. Per project running at the same time.
That choice does specific work. A two-person outfit and a twelve-person outfit pay the same if they’re both juggling three jobs — so growing the team doesn’t get taxed. A landscaper doing one large job a quarter isn’t priced like an agency. And because the meter is concurrency rather than volume, the bill tracks how much of the platform is actually in use at any moment, which is the thing that costs us to run.
The trade-off is just as specific: a landscaper who finishes work fast and clears the board pays less than one who leaves five jobs half-open. That’s a deliberate incentive, not an accident of pricing.
Line 2 — Energy, and the line between counting and explaining
AI use is metered in Energy: 100⚡, 300⚡ or 500⚡ included per month by plan, topped up at A$3 / 100⚡, A$8 / 300⚡, A$25 / 1000⚡.
The interesting part isn’t the price. It’s what gets metered:
cost_narrate: 5, // optional "explain the estimate" leg (number is free)
materials_narrate: 5, // optional "explain the materials" leg (qty is free)
The deterministic leg — the rules engine that computes the estimate, the quantities, the material list — is always free. Only the language model leg that explains the result costs anything.
That is an architecture decision surfacing as a pricing decision. The numbers come from code we can test and stand behind, so they cost nothing and carry no per-use risk. The prose comes from a model, costs real money per call, and can be wrong in ways a spreadsheet can’t. Charging only for the second draws the line exactly where our confidence changes.
Advertising works the same way: an organic listing in the directory is free, and Energy only buys priority (100⚡ for 30 days, admin-approved). You can’t pay to be listed. You can pay to be listed first.
Line 3 — take-rate, on money we never hold
Two rates, decided by how the pairing formed:
- 5.0% when the platform’s lead board introduced the two parties
- 1.5% when the landscaper brought their own client
The split says the quiet part out loud: the fee tracks what the platform actually contributed. Introduce a customer, charge properly. Provide the workspace for a relationship that already existed, charge a fraction.
There’s a detail in the routing worth borrowing:
// Anything that is not an explicit platform match defaults to BYO (the LOWER
// rate) — never over-charge when the origin is uncertain.
Ambiguity resolves against the platform’s own revenue. That is a one-line policy, and it is the kind of thing that decides whether a marketplace is trusted in year three.
The box left deliberately empty
Here is the structural oddity. Take-rate is the long-term primary revenue line — a percentage of the agreement value — and yet the agreement money never passes through Auslandscape. The homeowner pays the landscaper directly, by bank transfer or invoice. The platform charges its commission as a separate transaction and stays out of the build payment entirely.
No escrow. No float. No holding balance.
That empty box is a decision, not an omission. Holding other people’s construction money in Australia pulls a platform toward financial-services licensing, trust-account obligations and a compliance surface that a young marketplace cannot carry. Staying out of the payment keeps the product legal to run with a small team.
What it costs: no payment guarantee, no leverage in a dispute, no float. When a homeowner and a landscaper disagree about money, the platform holds the record — not the funds.
What it looks like on the canvas
In the Business Solution Canvas, M3 is revenue and pricing. It’s tempting to fill that box with a number.
This teardown says the box has a harder question in it: what is the unit? Auslandscape answers it three times, differently — concurrency for access, per-call for generated language, percentage for introductions — and each answer encodes a different belief about where value is created.
The honest limit, since this is our own product: line 3 isn’t charging yet. Commission is recorded backend-only as accrued_not_charged until the Stripe wiring lands. Two of the three lines are live; the biggest one is still on paper. A model you have written down and a model that has taken money are not the same model, and the gap between them is where most pricing assumptions quietly die.
One thing to take away: before arguing about the price, write down the unit it’s charged per — and check whether your product touches the money it takes a percentage of.
BSC is BIXSO’s open framework for working through business model, analysis and agentic AI as one loop — bixso.ai/bsc.