Build a CRM with Sovrium
You want a self-hosted CRM — contacts, companies, and a deal pipeline — without wiring a database or a UI by hand.
Scaffold from the template
The fastest path is the ready-made crm template, which includes companies, contacts, deals with a pipeline, and pages:
sovrium init crm
sovrium start app.ts
Or start minimal and grow
A CRM is just tables. This two-table starter is a complete, runnable config you can extend field by field:
export default {
name: 'crm',
version: '1.0.0',
tables: [
{
name: 'contacts',
fields: [
{ name: 'full_name', type: 'single-line-text', required: true },
{ name: 'email', type: 'email' },
{ name: 'company', type: 'single-line-text' },
],
},
{
name: 'deals',
fields: [
{ name: 'title', type: 'single-line-text', required: true },
{ name: 'stage', type: 'single-select', options: ['lead', 'qualified', 'won', 'lost'] },
{ name: 'notes', type: 'long-text' },
],
},
],
}
Verify
http://localhost:3000/api/tables/contacts/records and /api/tables/deals/records are live and ready for data.
Next
- Start from a template — every
sovrium inittemplate. - Relational Fields — link deals to contacts and companies.
- Pages Overview — add a pipeline board and record views.
Last updated July 21, 2026
This documentation was written with Claude Fable 5 (Anthropic), so errors or outdated content are possible. Sovrium is in beta — contributions and corrections are welcome.