← projects Β·

Iona CRM β€” open source CRM boilerplate with an AI agent.

A generic CRM boilerplate built for vibe coding on top of β€” companies, contacts, a content library, and a conversational AI agent with tool access.

When learning any new techonology, I usually start from a solution of comfort - the CRM. Why is the Customer Relationship Management why favorite? It’s simple CRUD, the backbone of nearly every business system, and super customizable with modules on top (but the core is almost always the same). I’ve implemented Salesforce and Hubspot, sold Accelo, it was my first β€” and most downloaded β€” Coda doc CRM and CRM2, my initial failing AI no-code or full-code software development (which one is better?) and getting better Building a simple software application prototype.

Iona CRM is an open source CRM boilerplate, a starting point for anyone who wants to vibe code a relationship management tool without wiring up the plumbing from scratch.

Iona CRM dashboard with Sage AI agent

What it is

A Next.js 15 app backed by Supabase PostgreSQL with three core modules:

  • Companies and contacts β€” organizations with an inline-editable pipeline (Lead β†’ Opportunity β†’ Client β†’ Churned), contacts nested within them, and fields for website, industry, location, and size.
  • Content library β€” collections and content blocks with bulk CSV import. All content is automatically embedded via OpenAI and stored as vectors in Postgres for semantic retrieval.
  • AI chat β€” a streaming conversational assistant with persistent history and tool-based access to the knowledge base. It can search content semantically, browse collections, manage organizations, and navigate the app β€” with preview confirmations before any database writes.

Why I built it

Most CRM boilerplates are either too thin (just a table of contacts) or too opinionated (locked into a specific sales motion). I wanted something that covered the core data model β€” orgs, contacts, pipeline β€” while leaving the product surface open. I think the new interface will be the ENTERface, agentic interaction that is a chatbot right now (prompt it, then hit enter to send), but it’s likely that this will change soon too.

Tech stack

  • Framework: Next.js 15 (App Router)
  • Database: Supabase PostgreSQL with pgvector for embeddings
  • Auth: Supabase Auth with Row Level Security
  • AI: OpenAI embeddings, Vercel AI SDK for streaming chat
  • Payments: Stripe (optional)
  • UI: shadcn/ui, Tailwind CSS