Learn by building Leaseline
Twelve tutorials that build one Startup, Leaseline, from an empty folder to launch, one file convention at a time.
Twelve tutorials build one Startup, Leaseline, from an empty folder to Live. Each adds one part of the business as one file and shows what it compiles to.
The Startup you build
Leaseline (leaseline.app) tracks lease renewals for property managers with 20 to 500 units. Its founder holds the approvals, and an agent fills its Success Manager Role. Every id in the tutorials is a record in Leaseline's own data, so a call you copy returns what the page shows.
The twelve tutorials
Each tutorial adds one part of the business as one File or one call. Parts include a Noun, a Verb, a Site, an App and a Change.
| # | Tutorial | Adds |
|---|---|---|
| 1 | Creating the project | startup.ts from the Solo SaaS template |
| 2 | Declaring your own Noun | nouns/ |
| 3 | Writing a Verb function | nouns/ and its test |
| 4 | Calling it four ways | Records through the API, SDK, CLI and MCP |
| 5 | Selling the pro plan | offers/ |
| 6 | Publishing the Site | sites/ |
| 7 | Mounting the App | apps/ |
| 8 | Automating the notice | workflows/ |
| 9 | Seating the agent | agents/ |
| 10 | Handling a failed card | The past-due path, Stripe-led |
| 11 | Reviewing a Change | Tests, Evaluators and a merge |
| 12 | Launching Leaseline | The launch checks and Live |
Checkpoints
Each tutorial ends on a checkpoint tag, leaseline@ch01 to leaseline@ch12, in a public example repository that CI builds on every release. The repository and its tags have status planned. Each tutorial ends by listing the files its checkpoint holds.
Next
- Quickstart: the seven commands of tutorials 1, 5 and 12 in five minutes.
- The Leaseline year: the same Startup a year on, one dated episode at a time.
- File conventions: every file the tutorials write, with its full contract.