The tenant apps, the apex apps, and why a single-tenant deployment is the same tree on one host.
A tenant app serves one or many tenants and resolves which from the request host. There is no configuration that pins a deployment to a tenant.
| App | Serves |
|---|---|
| Shared web | Every tenant on {slug}.kikstart.ai: the admin, the public site and the storefront, resolved from the subdomain. |
| Single-tenant web | One tenant on its own host. The same tree as shared web, prerendered for one slug. |
| Mobile | The Expo storefront and the field app, one branded build per paying tenant. |
A single-tenant deployment is the shared-web tree given one tenant's host: the exact {slug}.kikstart.ai domain, which overrides the shared wildcard, plus any customer domain the tenant has registered. It exists for a tenant who wants its own deployment, its own release cadence, or its own pages alongside kikstart's. Nothing in its code names the tenant; only its host does.
Apex apps carry no tenant context and run on kikstart's own hosts.
| App | Serves |
|---|---|
| Console | The customer console: the self-serve agent that creates a store by chat, and the account dashboard for the organization and its projects. |
| Ops | The operator's tools: provisioning, migrations, storage setup, fleet jobs and the operator agent. |
| Marketing | The public kikstart.ai site: positioning, pricing, solutions and modules. |
| Docs | This site. |
Every app is a Next.js app in one Bun workspace, orchestrated by Turbo. Shared code lives in workspace packages: the web package holds every module's logic and UI, the db package the schema and data access, and siblings cover agents, email, messages, mobile, ops, the shop layer, Shopify, storage and utilities. An app is thin: its route tree, its chrome, and the app-local modules only it needs.