One codebase. One database file. Yours.
The web app, the CRM, the REST API and the MCP server are one TypeScript application on one SQLite database. It is built to run on a server you control, which means your roadmap, your client records and your meeting notes do not have to live in someone else's cloud.
Everything is in one place, on purpose
There is no separate analytics store, no queue you also have to back up, and no second database holding the CRM. Every ticket, cycle, customer, meeting note, document, saved view and report is in the same SQLite file, so backing the product up is copying one thing and restoring it is putting one thing back.
That is also why the app, Slack, the API and your agents never drift apart. They are not syncing copies of each other. They are four doors onto the same records.
Who can do what, checked in one place
A role is not a setting per integration. It is one answer the service layer gives, and the browser, Slack, the REST API and every MCP tool ask the same question.
Self-hosting is what the application is built for, not a managed service we run for you with an uptime figure attached. During the private beta we host beta workspaces ourselves and will hand over the deployment when you want it. Tell us in your access request if running it yourself is the point for you.
Owning your data should not mean putting up with the interface.
C creates a ticket where you are,⌘K searches everything, in light or dark.
Keep the plan on a server you control
Request access and tell us how you want it hosted. We will be straight with you about what is ready today.