Describe the application, read it whole, then commission it
Two things live on this page and they meet in the middle. Any table can be renamed, put away, taken out or invented beside the ones that ship, a sentence at a time, each change proposed before it is applied. Or the whole application is designed at once out of what you say your business does — priced per module, and delivered a module at a time while you get on with your afternoon.
A table that did not exist a sentence ago.
Make a table for machines with a serial number, a client and a service date: the change is proposed line by line before anything happens. Then a column on contacts, the same way. Then the new table, empty and ready for its first row.
Type what your business does
The same question the product asks on your first morning, answered here with what you would actually get. No account, nothing stored, and no model asked: every figure below is read off the catalogue by the function the order screen prices a build with.
An example sentence, until you write your own.
Nothing we ship is named by those words. That is the ordinary case rather than a failure, and it is what having one built is for.
Or have the whole application designed around that sentence instead — your tables, what each of them moves through, your rules, your automations — read whole before any of it exists.
Four things you can do to any table
A veterinary practice handed Opportunities it never asked for and cannot remove is being told what business it is in. So the product’s own tables behave exactly like the ones you define.
The only exceptions are the tables the product itself runs on: users, teams, business units, security roles. Those are marked administrative and left alone.
- Rename it: the new name follows into screens, search, the prompt and the error messages
- Put it away: it disappears from everywhere and every row stays exactly where it is
- Take it out: refused while it holds rows or while another table points at it
- Put it back: nothing was destroyed; the designer lists what you removed, with a button

Columns that do more than hold a value
- The ordinary ones
- Text, long text, number, currency, date, date and time, yes/no, email, phone, URL, each validated for what it claims to be.
- Choice
- An option set with its own values and colours. A board groups by one; a chart counts by one.
- Lookup
- A pointer at a row in another table. Deleting the target is refused while anything points at it.
- Autonumber
- A sequence with your own prefix and padding, issued on save and never reused.
- Formula
- Worked out from the other columns of the same row: margin from price and cost, days open from a date. Recomputed on read, never stale.
- Rollup
- Counts, sums, minimums and maximums over the rows pointing at this one. Open value on an account, machines on a site.
Say which column plays which part
A board needs to know which column is the stage, a chart which one it adds up, a calendar which one places the row in time, and an assignment which one holds the person.
Those are a table’s roles. Until you say, they are guessed from the column types: right for the first table you make, wrong the moment there are two choice columns. So you can name them, and "None" is a real answer that stops the guess rather than re-running it.
- A column that cannot play the part is refused with the reason
- A role can name a column you added to a table the product shipped
- The prompt can set it: "the owner of a job is the engineer"
- A probability role weighs a value against how likely it is

The structural things a real business app needs
Shape
- Tables you define, with your own names and columns
- One-to-many relationships, with the child rows on the parent record
- Many-to-many, where both ends hold many of the other
- Cascade rules that refuse a delete rather than quietly orphaning rows
- Unique constraints, and duplicate detection before a save
- A recycle bin that holds a deletion for thirty days
Behaviour
- A process a record moves through, with rules at each step
- A step that owes a value cannot be left until it has one
- Validation rules written in plain language: "a discount over 20% needs sign-off"
- Required, read-only and conditional columns
- Defaults, including ones worked out from another column
- Everything applies to the API too, because it is the same code
Governance
- Security roles with create, read, write, delete, assign and share
- Four depths: own, business unit, parent and child, the whole workspace
- Field security profiles that hide a column from a role
- Sharing one record with one person, without changing anybody’s role
- An audit trail of who changed what, and when
- Every schema change is proposed and confirmed, never silent
What building it sounds like
Each of these comes back as a proposal, written in your own table names, that you read before anything happens.
| A table, three columns and a relationship | |
| A rename that follows into every screen and message | |
| A formula column, recomputed on read | |
| A rollup on Accounts, counting Jobs | |
| A validation rule with the message people will see | |
| A table hidden everywhere, its rows untouched |
What a built application costs
One fee beside the subscription, charged per module delivered rather than up front. The rate is read from the same catalogue the order screen quotes from, so this page and your order cannot disagree.
€12 per million tokens of model work, at this deployment’s configured rate.
- A module is the handful of tables that belong together. It is what gets built, what gets invoiced, and what you can start using while the rest is still running.
- A module whose tables are ones we already ship is included in the subscription and charged nothing at all.
- The amount on your order is a ceiling rather than a price: a module that used less than it was estimated to use is invoiced for less, and never for more.
- A module that fails validation is not delivered and is not charged for.
Until this deployment has finished a build of its own, the estimate assumes 2000 tokens and 1.2 seconds of work for each table, column, rule, automation and example row, and the order says the word “assumed” on the screen. After the first build it quotes what it measured instead.
Try it against your own shape of business
The trial gives you seven days and five seats. Rename the tables, add your own, import a spreadsheet, and see whether the sentences you would type give you the screens you need.