
SQLite as a CRM: Why We Chose the Simplest Database for Our Sales Pipeline
51 leads, 96 outreach events, four tables, one file. Sync completes in under a second. Here is why we chose SQLite over everything else. Our CRM is a SQLite database with four tables. It sits on an external hard drive attached to a Raspberry Pi. It is downstream of a directory of markdown files that six AI agents read and write to. The database never writes back to the agents. It exists purely to answer questions that markdown cannot answer efficiently. This is not a compromise. It is a deliberate architecture. The agents speak markdown. The database speaks SQL. A sync script translates between them on every run. Both layers do what they are good at, and neither tries to do the other's job. The Architecture: Markdown First, SQLite Second The source of truth is a directory of markdown files: crm/leads/ ├── taktile/ │ └── profile.md ├── parloa/ │ └── profile.md ├── cosuno/ │ └── profile.md └── ... (51 leads) outreach/drafts/ ├── taktile.md # Email draft ├── taktile.approved # Approval ma
Continue reading on Dev.to Python
Opens in a new tab


