shouldivibecodeit

Should I vibe codeFolk?

Organize relationship lists, enrich context manually, and run lightweight outreach

Rebuild the pipeline board, fine. The part that ends in "send to 400 people" is not a side project.

?

Their verdict, the Standard price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.

Can you build it?asked by canivibecodeit.com ↗KINDAweekend project · multi-day
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usYOUR FUNERALit’ll work. then it’ll get you.

The honest answer

why the verdict is what it is

Contacts, companies, a pipeline with stages — that is a schema and an afternoon, and you will have something usable before dinner. Folk's real surface is the two features either side of it: a browser extension that lifts people off LinkedIn into your database, and a send button rated in thousands of messages a month. Build the middle and you have an address book with opinions. Build the ends and you have built a cold-outreach machine pointed at people who never gave you their address, with your own sending domain as the fuse.

What actually breaks

not "if". the specific failures.

  • A sequence that keeps sending after someone replies "take me off this", because unsubscribe was the last thing you built
  • Deduplication merging two records and silently dropping the note that said do not contact
  • Your domain's sending reputation, spent in one afternoon on a list somebody bought
  • Enriched addresses that are guesses — first.last@company.com — bouncing hard enough to get the domain flagged
  • A deletion request arriving by email, which has to be executed across contacts, notes, activity, sequence membership and the CSV you exported in March
and then, at 3am

The sequence is supposed to skip anyone who replied, and it does, as long as the reply lands in the mailbox you poll. On Tuesday a bounce handler you wrote in ten minutes marks a thread unread, the poller reads it as new, and step three goes out to two hundred people who had already answered — including four who answered with some version of stop emailing me. One of them forwards the whole thread to your largest customer, who is on the list because you imported everyone. The mail is sent. There is no recall, no pause that helps, nothing to roll back. What is left is writing the apology, and then working out whether the person who asked twice now has a complaint form open.

Is that you?

the verdict is a default, not a law

ship it if
  • It is your own address book with deal stages on top and nothing ever sends
  • Every contact handed you their details directly and you can say when
  • Outbound goes through a real ESP, and your app only ever hands it a list
don’t ship it if
  • Contacts arrive by scraping, enrichment or a purchased list
  • The app sends mail itself, from your own domain, in sequences
  • You cannot execute "delete everything you hold about me" as one operation
  • More than one person uses it and nothing records who saw which record

If you build it anyway

the checklist, then the prompt that enforces it

  1. Suppression before send. A global do-not-contact table, checked at send time rather than import time, honoured by every sequence — built before the first message leaves.
  2. One-click unsubscribe in every message, and treat a reply containing "unsubscribe", "remove me" or "stop" as one too. People reply; they do not click.
  3. Send through an ESP that handles bounces, complaints and List-Unsubscribe. Your own SMTP is how a domain gets blocked, and reputation comes back slowly.
  4. Record provenance on every contact — where it came from, when, and whether they opted in. "I don't know" is the answer that costs money.
  5. Make deletion one operation across contacts, notes, activity, sequence membership and exports, and write the test that proves nothing survives it.
  6. Rate-limit per day and per recipient domain, and halt any sequence automatically when its bounce or complaint rate crosses a threshold you chose in advance.
the guardrail prompt
I am building a lightweight CRM that will eventually send email to the people
in it. The database is other people's personal data and the send button is the
sharp edge. Apply these and push back if I ask you to break them.

1. Build the suppression list first — before contacts, before the pipeline,
   before anything can send. One global do-not-contact table, checked at send
   time, on every message, in every sequence.
2. Then build deletion: a single operation that removes a person from contacts,
   notes, activity, sequence membership and any generated export. Write the
   test that proves nothing is left behind.
3. Every contact row records where it came from, when, and whether they opted
   in. Make provenance non-nullable, and exclude any import that lacks it from
   sending entirely.
4. Do not send over SMTP from my own server. Use an ESP that handles bounces,
   complaints, suppression and List-Unsubscribe headers, and treat a hard
   bounce as an immediate permanent suppression.
5. Every message carries a working one-click unsubscribe, and an inbound reply
   containing "unsubscribe", "remove" or "stop" counts as an opt-out.
6. Any reply pauses that contact's sequence immediately, and pausing is also
   the default for any error you cannot classify.
7. Rate-limit outbound per day and per recipient domain, halt any sequence
   above a bounce or complaint threshold, and tell me the numbers you picked.
8. Never generate addresses from name-plus-domain patterns. Those are guesses,
   they bounce, and bounces are precisely what damages a sending domain.
9. Log every send with recipient, sequence, step and timestamp, so "who did we
   email on Tuesday" is one query.
10. Out of scope, deliberately: bought lists, profile scraping, and anything
    that drives a logged-in LinkedIn session.
11. Before the first real send, ask me what my lawful basis is for the
    addresses in this database — and note that paying for a CRM would not fix
    a shrug either.
paste this before you build — not after something breaks31 lines · 1989 chars

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

just pay for it

The moment it sends. $30 a member buys suppression, bounce handling, unsubscribe plumbing and people who notice when your domain starts smelling bad — none of which you will build in the first month, and all of which you will need by about week three.

$30/mo is cheaper than your weekend.

your exit plan, if you already built it

Contacts export cleanly; provenance does not, unless you kept it. Store source, consent state and opt-out date as columns from the very first import, so when you move to a real CRM the list arrives with its receipts. A CSV of names and addresses with no history behind it is a list you cannot prove you are allowed to use, which makes it a list you should not import anywhere.

prior art · someone already did this
Twenty

Active open-source modern CRM with extensible data models — a far better starting point than an empty schema.

Questions

Isn't a CRM just a database of contacts?

Yes, and that is the problem in one sentence: it is a database of people who did not put themselves in it. Every row carries obligations — access, correction, deletion — that arrive whether or not you built a screen for them.

Can I not just send the sequences from my own SMTP server?

You can, once. Deliverability is reputation, and reputation is built from bounce rates, complaint rates, authentication and volume history that a new sending IP does not have. An ESP is not doing anything you cannot code; it is doing something you cannot accumulate.

The LinkedIn extension is the genuinely useful bit. Why leave it out?

Because it fills your database faster than your consent story can keep up, it breaks every time the page markup changes, and automating a logged-in session risks the account you are scraping from. If you want the enrichment, buy it from someone whose terms say you may.

sources
  • CAN-SPAM Act compliance guide for business (FTC, US)
  • GDPR Art. 7 — conditions for consent (EU)
  • GDPR Art. 5 — principles relating to processing of personal data (EU)
did you build it?

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.

also on the regret index
PipedriveDEMO ONLY

The pipeline view is a kanban board. The rest is data you are now responsible for.

AttioDEMO ONLY

A CRM is a database of people who never agreed to be in your database.

CapsuleDEMO ONLY

For a small business a homemade CRM is fine. Just know what you are storing about whom.

last reviewed 2026-08-04 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice