Skip to main content
View as Markdown

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

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.

Built with Sovrium