Unwrapped

Legacy SaaS dossier · mailchimp

Mailchimp

Mailchimp

CategoryEmail marketingMailchimp Standard, 100k contactsSite ↗

A contact list, a template editor and a send queue, priced per contact so the bill grows with a list you already own.

01 · Data

Data the SaaS sits on

Contact list
Contact listYours
Resend / SES
Resend / SESAPI
Signup forms
Signup formsYours
Stripe (triggers)
Stripe (triggers)API

Internal Build Score

0.81

Feasibility of a useful internal substitute for the actually-used 20% of this SaaS, built with Claude and your own data layer.

IBS = 0.25·U + 0.25·C + 0.20·D + 0.15·I + 0.15·Mthis record · 81%
  • U

    User adoption gap

    weight 0.250.80

    How much licensed surface area sits idle.

  • C

    Core simplicity

    weight 0.250.85

    How small the actually-used 20% is when re-implemented honestly.

  • D

    Data portability

    weight 0.200.80

    How clean the exit is, exports, formats, audit lock.

  • I

    Integration burden (inverse)

    weight 0.150.70

    How few external systems must keep working through the SaaS.

  • M

    Moat erosion

    weight 0.150.85

    How much the original differentiator has been commoditised by LLMs + cheap infra.

Editorial heuristic. Not investment advice, not a procurement recommendation.

03 · Feature usage

Commonly used vs. rarely touched

Commonly used

05

  • Subscriber list with segments
  • Campaign composer + templates
  • Scheduled and triggered sends
  • Open / click tracking
  • Signup forms and double opt-in

Rarely touched

06

  • Per-contact pricing that climbs as your list grows
  • Customer Journey builder most teams configure once
  • AI subject-line and content add-ons
  • Landing pages and a half-built website builder
  • Postcards, a CRM and an appointments tool
  • Predictive demographics and comparative reports

Internal build

Build it yourself

01 · Stack & flow

Postgres
Postgres
React Email
React Email
Resend
Resend
Claude API
Claude API

Internal build map

Data in

Contacts
Segment filter
Open / click events

Agent layer

Campaign drafter

Logic

resolve segment
render template
queue + send
track opens

Outputs

Sent campaign
Open / click report
Build time
4 weeks
Run cost
$2/seat·mo
vs. SaaS
$30K / yr

Build outline

  1. Contacts + consent schema in Postgres
  2. Segments as saved SQL filters
  3. React Email templates, sent via Resend
  4. Open / click tracking pixel + redirect
  5. Claude drafts campaign copy per segment

02 · Build it

Paste into Cursor or Claude Code in an empty repo. It scaffolds the working core, with the AI step embedded.

Build prompt · Mailchimp

// Build: internal email marketing (Mailchimp replacement) # Paste into Cursor or Claude Code in an empty repo. Build an internal email tool covering the part of Mailchimp we use: a contact list with segments, a template, scheduled + triggered sends, and open/click tracking. Ship a working v1 on Vercel. Stack: Next.js + Postgres (Drizzle) + React Email + Resend. Data model: - contacts(id, email, name, consent_at, attributes jsonb, unsubscribed_at) - segments(id, name, filter_sql) // saved Postgres filters - campaigns(id, name, segment_id, subject, html, sent_at) - events(id, contact_id, campaign_id, kind: open|click, url, at) Build, in order: 1. Contacts table + CSV import + a double opt-in signup form. 2. Segments as saved SQL filters, previewed as a live count. 3. A React Email template; send a campaign to a segment via Resend. 4. Tracking: an open pixel + click redirect writing to events. 5. AI assist, a "draft campaign" action that calls Claude: """ Given a segment name, a one-line goal, and a 3-5 bullet voice guide, return JSON { subjects[3], preheader, body_blocks[], cta, review_flags[] }. No invented offers/prices/dates. One body. No emoji unless allowed. """ Skip: per-contact pricing, the journey builder, landing pages, the site builder. Done when: you can import contacts, save a segment, draft + send a campaign, and see opens and clicks.

03 · Result

Draft a winback for trial users lapsed 90 days
segment:lapsed-trial-90d

3 subjects, top: 'Your workspace is still here' · 1 body · 0 review flags