gitwtfhub

wtf is crm?

trycompai/crm — explained in plain English

Analysis updated 2026-08-13

8,370TypeScriptAudience · developerComplexity · 4/5LicenseSetup · moderate

TL;DR

An open source CRM where an AI agent, not a human, is the primary user, researching contacts and updating records on its own schedule.

Mindmap

mindmap
  root((Comp AI CRM))
    What it does
      Agent first CRM
      Agent runs on its own
      Evidence based fact writing
    Agent behavior
      Research budget
      Schedules its own follow ups
      Never guesses facts
    Tech stack
      Next.js and NestJS
      Prisma and Postgres
      eve agent framework
    Audience
      Developers self hosting CRM
      Sales and support teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run an AI agent that automatically researches and enriches contact and company records over time.

REASON 2

Watch an agent's research steps and approve or reject its suggested facts on each record's Agent tab.

REASON 3

Self-host a CRM where an agent works from your own email threads without needing external data vendors.

REASON 4

Deploy the CRM and its agent as a Turborepo monorepo on Vercel with Postgres.

What's in the stack?

TypeScriptNext.jsNestJSPrismaPostgreSQLBun

How it stacks up

trycompai/crmspotbye/spotiflachacker0x01/react-datepicker
Stars8,3708,3688,365
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasyeasy
Complexity4/51/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Deployed as a Vercel monorepo with Postgres, works with zero API keys but improves with optional ones.

Wtf does this do

This is an open source customer relationship management system, the kind of software sales and support teams use to track contacts, companies, and deals, but built around an AI agent instead of built around a human filling in forms. The README describes most CRMs as a database with a form on top, and AI-flavored ones as bolting a chat box onto that same form. This project flips that: the agent is not a bonus feature, the CRM is where the agent keeps its notes. The agent runs on its own schedule, independent of anyone having the browser open, deciding what to look into next, booking its own follow up checks, and stopping once it has spent a set research budget. One firm rule guides it: it never guesses. Its tools report only what they directly observed, like a signature block in an email or a matched account on another service, and a scoring system treats strong evidence as safe to write into the record while weak evidence becomes a suggestion a human has to approve. The reasoning is that a confidently wrong fact about a customer is worse than an empty field, because nobody notices it is wrong. Every contact, company, and deal has an Agent tab where you can watch the steps it took, see leads it discarded and why, and answer questions it could not resolve on its own. It works even with no external data sources connected at all, since it can read your own existing email threads and meetings, and each optional API key you add, such as LinkedIn or web search, simply opens up one more place it can look. Technically it is a Turborepo monorepo running on the Bun runtime, deployed on Vercel, using Next.js for the front end, NestJS for the API, Prisma with Postgres for the database, and a framework called eve for the durable, resumable agent sessions. It is released under the MIT license.

Yoink these prompts

Prompt 1
Help me set up and deploy trycompai/crm on Vercel with the eve agent framework.
Prompt 2
Explain how this CRM's evidence system decides when to write a fact automatically versus asking a human.
Prompt 3
Walk me through configuring optional API keys like LinkedIn or Perplexity for the CRM's research agent.
Prompt 4
Show me how the Agent tab on a contact record works and how to answer its questions.

Frequently asked questions

wtf is crm?

An open source CRM where an AI agent, not a human, is the primary user, researching contacts and updating records on its own schedule.

What language is crm written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, NestJS.

How hard is crm to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is crm for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.