How products work
The model under everything a Startup sells, from the promise it makes to the price, access and usage a customer pays for.
A Product is what you sell, and an Offer is how you sell it. Every Product, of every kind, gets the same business around it.
Six ways in, four kinds
Start from whichever of six sounds like your business: an App, an API, a Site, a Service, an agent or data. Each maps onto one of four kinds, and the kind sets the promise you make.
| You sell | Sounds like you if | Kind | The promise |
|---|---|---|---|
| App | Customers sign in and work in it | Software | The tool works |
| API | Developers or agents call it from their code | Software | The tool works |
| Site | You publish, list or sell from Pages | Every kind gets a Site | It is true and it is yours |
| Service | You deliver a finished result | Service | The outcome arrives, or the remedy applies |
| An agent sold as a service | An agent does a job inside the customer's business | Agent | The task passes, or it is redone |
| A data product | You sell records people look up | Data, as a Dataset | The records are true |
Hybrids are normal. An App usually ships its API, a Service often runs on an agent, and a data product is an API over a Dataset. Start from what the customer pays for, then add the rest.
Product kinds explains the four promises in depth.
What the customer pays for
| From | Joined by | To |
|---|---|---|
| Product | sold through | Offer |
| Offer | priced by | Price |
| Price | counted by | Meter |
| Offer | grants | Entitlement |
| Entitlement | bounded by | Limit |
The Product holds the promise. The Offer holds the commercial terms: the Price, how often it bills, and what happens at a Limit. Keeping them apart lets one Product sell several ways, and lets a price change without touching the promise.
Each Entitlement grants one Verb, so "export" is something a plan includes or leaves out. A Meter counts usage for a usage Price, each counted unit once.
Anatomy of an Offer covers each part, and Pricing models shows which to pick.
One Product, many Offers
Leaseline is one Product with three Offers: pro at $29 a month, pro-yearly at $290 a year, and team at $15 per seat. Each is a row on the pricing page and a price on Stripe, and all three grant the same dashboard.
A new Price is a new Offer, never an edit. A customer keeps the Offer they bought until they switch, so a price change never rewrites a past sale.
What every product gets
Whatever the kind, the business around it comes with it:
- a page on your Site, on your Domain, under your Brand;
- checkout, receipts and sales tax on every charge, with your Startup as seller of record;
- a Portal where each customer sees their plan, invoices, usage and keys;
- terms of service and a privacy policy, written for what you sell;
- a support inbox answered by the support agent;
- an API, an MCP server and
llms.txt, so agents can find it, read it and buy it.
That is the difference from an app builder: you get the business, not only the product.
Under the hood
Stripe holds each Offer as a Stripe Product and each Price as a Stripe Price. The Startup's own records lead, and Stripe mirrors them:
Price (price). The source of truth is db.sb, and Stripe holds a copy written from it.
| Property | Stripe field | Source of truth |
|---|---|---|
amount | unit_amount | db.sb |
meter | recurring.meter | db.sb |
Subscriptions, invoices and payouts run in finance. Products say what is sold and on what terms, and finance moves the money.
Next
Part 2 of six chapters on how the business works. The E-Myth model is next: who does the work, and what you still decide.