The platform
An inventory operation, a therapy practice and a creator agency keep almost nothing in common on screen — and almost everything in common underneath. Tenancy, roles, invites, background work and the audit trail are built once here, which is why a new industry is a set of pages rather than a second product to keep alive.
What every edition gets
None of this is optional or priced separately. It is the floor the industry pages stand on.
Every tenant is provisioned its own Postgres schema, migrated on its own stream. Isolation is a boundary in the database rather than a company_id someone has to remember to put in the WHERE clause.
A company type is a row, registered at runtime, that decides which pages exist and which actions can be granted. All three run the same shell, the same auth and the same deploy.
The roles editor offers a verb only where a route exists for it, so there is no checkbox that grants a key nothing ever checks — and it never offers a therapy practice a warehouse permission.
Some permissions hide a page; some hide a number on a page someone is meant to open. Cost, margin and profit come off the wire without "costs & profit", and a visit's billable hours without "visit billing".
What a person sees in the sidebar is granted, not derived from a job title. Two people with the same title can be given different consoles.
Staff join through a link that is verified before the account is created, so a used or expired link never leaves a half-made user behind. Links can be listed and revoked.
Membership is per company. An operator working across two of them switches company rather than signing out, and their role in each is separate.
Parsing a stack of shipping labels or recomputing stock does not happen while someone waits on a spinner — it is dispatched to a worker and reported back when it lands.
Consequential actions are recorded and readable per member, so a question about a change has an answer that is not somebody's recollection.
On top of it
Each one has its own pages, its own roles and its own database migrations. Pick the one that matches what you run.
Get started
Accounts are set up with us rather than self-serve, so the edition, the roles and the first warehouse or roster are configured before anyone signs in.