SaaS.Studio: what it adds over code
SaaS.Studio, in the design, builds Apps by prompt and canvas over the same records a Startup writes in code, and runs every App a Startup has.
SaaS.Studio is the no-code and agentic builder over the same records a Startup writes in code. In the design, it adds management, operations, analytics and admin across every App the Startup runs.
Same records, two ways to write them
A developer writes Noun files, Verb Functions and App records in a repository. SaaS.Studio writes the same files, through a prompt or a canvas, and never a format of its own.
Every edit, from either side, is one Change. A field added on the canvas shows up in nouns/Lease.mdx, and a field added in code shows up on the canvas.
| Edit | In code | In SaaS.Studio |
|---|---|---|
Add renewalNoticeDays to Lease | a line in nouns/Lease.mdx | "Give each lease a notice period in days" in the prompt |
| Add a renewal calendar screen | an entry in apps/app.json | the prompt, then the canvas to place it |
Fill the record.aside slot on Lease | a slot entry with a Component id | drag a Component onto the record page |
| Ship it | merge the pull request, then App.publish | Publish on the preview |
A Startup can switch sides at any time. Leaving SaaS.Studio leaves the repository as it stands, with nothing to export.
What it adds over code
Code writes the definition. SaaS.Studio adds the parts a repository holds no screen for: seeing the App while editing it, and running it after it ships.
| Part | What it does | Reads and writes |
|---|---|---|
prompt | Turns a request in words into a proposed Change, which a person accepts, edits or drops | writes a Change |
canvas | Shows each screen as the rules derive it, per Persona, and edits screens, slots and fields in place | writes a Change |
preview | Opens the open Change on its own preview Domain, with the screens it alters listed | reads a Change |
management | Lists every App, Interface and Domain of the Startup, with its live Version and its open Changes | reads Apps and Versions; publishes |
operations | One feed of every Action and Event across the Apps, with refusals and waiting Approvals | reads Actions and Events; answers Approvals |
analytics | Metrics from Events: activation per Flow, usage per Offer, seats in use | reads Events and Meters |
admin | Opens each App's Admin as the owner, and views a Customer's screens with a stated reason | reads and writes records through Verbs |
Designing screens without code walks through prompt, canvas and preview on leaseclock.com. Operating an App covers the other four.
The prompt proposes, a person decides
The prompt never writes to a live App. It proposes a Change, shows the files it alters as a diff, and opens the preview.
A person accepts, edits or drops the proposal. Edits happen in any form: the prompt again, the canvas, or the file itself.
Prompt: Add a renewal calendar to the manager's home screen. Show each lease on its end date.
Change: apps/app.json +1 screen "renewals" (calendar over Lease, by endsOn, manager only)
Screens: 1 added, 0 altered
Preview: change-14.leaseclock.com/app/renewalsWho uses it
The founder and the Startup's operators sign in to SaaS.Studio, at /studio on the Startup's own Domain. Customers never see it: they use /app and /dashboard.
Each person holds an Access Level in SaaS.Studio too. An operator who answers Approvals need not edit screens, and a designer who edits screens need not see invoices.
What stays the same
SaaS.Studio derives nothing on its own. Every screen on the canvas comes from the same rules as the App, listed on App rules, and every button runs a Verb through the API.
A definition built in SaaS.Studio keeps every Interface: the API, SDK, CLI and MCP server derive from it as from any Noun file.
App previews and Versions
In the design, a definition change reaches an App as one Change: previewed on its own Domain, checked screen by screen, then published as a new Version.
Designing screens without code
Add a renewal calendar screen to the leaseclock.com App and fill a slot on the Lease record page by prompt and canvas, then preview the Change.