Should I vibe code
Track contacts, opportunities, tasks, and notes for a small business
For a small business a homemade CRM is fine. Just know what you are storing about whom.
?
Their verdict, the Starter price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-03.
?
Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.
The honest answer
why the verdict is what it is
Contacts, opportunities and notes is a small schema and a satisfying build. Treat exports and deletion as day-one features rather than someday ones.
What actually breaks
not "if". the specific failures.
- Email capture, which is the reason a small business CRM earns its keep and requires either a BCC address or full mailbox access
- Matching an incoming email to the right contact and the right opportunity, which is guesswork when a thread has five participants
- Mailbox scope, because reading a whole inbox to find work correspondence also reads everything that is not
- Data entry discipline, since a CRM nobody updates is a list of people who used to be customers
- Attachments and threading, so the record shows a fragment of a conversation rather than the conversation
You connect the mailbox and it works — correspondence lands on contact records automatically, which feels like magic for about a fortnight. Then you notice a thread on a customer record that includes a message from your accountant about your own tax return, pulled in because their address happened to be in the thread. Nobody outside the business has seen it. But the CRM is shared with a part-time colleague, and the question of what else it has quietly filed is now one you have to answer by reading through it.
Is that you?
the verdict is a default, not a law
- Correspondence is attached manually — you decide what goes on the record
- It uses a BCC address rather than reading a mailbox
- It is a single-user contact log and there is no shared visibility question
- It reads a whole mailbox and other people can see the records
- There is no rule deciding which emails are captured and which are not
- The team will not actually update it, in which case nothing else matters
- Contacts include personal data you have not decided a retention period for
If you build it anyway
the checklist, then the prompt that enforces it
- Prefer BCC capture over mailbox access. It is explicit, scoped by the sender each time, and removes the entire question of what else got read.
- If you must read a mailbox, restrict by label or folder and never ingest anything outside it. Request the narrowest OAuth scope the provider offers.
- Match emails to contacts on participant addresses, and when a thread is ambiguous, ask rather than filing it somewhere plausible.
- Show clearly on every captured message why it was captured and who can see it.
- Decide retention for correspondence and personal data before switching capture on, and implement deletion per contact.
- Make manual logging fast. The tool's real failure is disuse, and friction is what causes it.
Before you build a small-business CRM with email capture, apply these and push back if I ask you to break them. 1. Ask me how correspondence gets onto a record. Recommend a BCC address over mailbox access, and explain that reading a whole inbox to find work email also reads everything that is not work email — which becomes a problem the moment the CRM is shared with anyone. 2. If mailbox access is required, restrict ingestion to a specific label or folder, request the narrowest OAuth scope available, and never process messages outside it. Show me where that filter is enforced. 3. Match incoming mail to contacts by participant address. When a thread has several possible contacts or no clear match, queue it for a human decision instead of filing it on the most likely record. 4. Display on every captured message why it was captured and which users can see it. 5. Ask me for a retention period for correspondence before building capture, and implement per-contact deletion that removes captured mail too. 6. Make manual logging fast — one keystroke from an email to a note. Tell me the common failure of a CRM is that nobody updates it, and friction is the cause. 7. Store the whole thread rather than isolated messages, so the record shows a conversation rather than a fragment. 8. Handle attachments explicitly: size limits, storage location, and whether they are captured at all. 9. Out of scope unless I ask: sequences, bulk email, reporting, calendar sync.
That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.
their build prompt ↗Or don’t build it
the boring option, and the way back out
At $21 a month the calculation is mostly about the email side. Manual logging you can build in a weekend; automatic capture with sensible scoping, matching and retention is where the price is, and it is also where a homemade version quietly reads more than it should.
$21/mo is cheaper than your weekend.
Keep contacts, opportunities and the correspondence log exportable, and store captured email as standard message files rather than parsed fragments. If retention obligations or a change of tool arrive, being able to hand over or delete a contact's entire history in one operation is what makes it manageable.
Active open-source modern CRM with extensible data models.
Questions
Why prefer BCC over connecting the mailbox?
Because BCC makes the decision explicit every time. The sender chooses what enters the CRM, so nothing arrives that nobody intended — no personal threads, no messages about other clients, no correspondence with your accountant. Mailbox access is more convenient and inverts that default: everything is captured unless a filter excludes it.
The real risk here is nobody using it. Is that fair?
It is the most common outcome. A CRM's value compounds only if records stay current, and updating one is always less urgent than the work itself. That is why automatic capture is the feature people pay for — not because logging is hard, but because remembering to log is.
Every week, someone ships something they shouldn’t have.
New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.
last reviewed 2026-08-03 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice