Files
Michael e1f364f010 feat: Tier B operator scaffolding — bundle, copy SoT, posts, emails
Pick up and finish yesterday's cut-off Tier B pass.

- build/: PyInstaller scaffold (datatools.spec + launcher.py +
  hook-streamlit.py + README) — folder-mode bundle, locked
  127.0.0.1, per-OS recipe
- marketing/COPY.md: single source of truth for every customer-facing
  string — landing H1/sub/CTAs, demo CTAs, email subjects, Gumroad
  listing, banned phrases
- marketing/community-posts/: 9 drafts (3 posts × 3 niches:
  bookkeeper, revops, shopify-pet) — story / tip / soft-offer
- marketing/emails/: 18 drafts (Gumroad delivery + 5-touch
  onboarding × 3 niches), per-niche segmentation guidance
- docs/NEXT-STEPS.md: flip 2.2 / 2.4 / 3.1 / 3.4 to done with
  pointers to the new assets; add Phase 0 inventory rows
- .gitignore: narrow `build/` ignore so PyInstaller spec + launcher
  + hooks get tracked, only generated artifacts (build/build/,
  build/__pycache__/, build/dist/) stay ignored

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 14:04:37 +00:00
..

Email sequences

Per niche (bookkeeper/, revops/, shopify-pet/):

  • 00-delivery.md — Day 0 Gumroad delivery email. Triggered when Gumroad confirms the purchase. Job #1: get the buyer to download and open the app inside the first 24h. Buyers who don't open within 72h refund at ~3× the rate of buyers who do.
  • 01-day1.md — Day 1 nudge with a sample file matched to the niche. The Day-1 email is the highest-leverage one in the sequence; it converts "I bought it" into "I used it".
  • 02-day3.md — Day 3 deep-dive on one specific feature the niche cares about most.
  • 03-day7.md — Day 7 workflow framing. "Use it every {month / campaign / sync}, not as a one-off."
  • 04-day14.md — Day 14 power-user tip. Surfaces a non-obvious feature; converts "I use it" into "I rely on it".
  • 05-day30.md — Day 30 referral / review ask.

Sender setup

  • From: support@datatools.app (single-sender to keep replies in one inbox; don't fan out to per-niche aliases until volume warrants)
  • Reply-To: same — every email expects a reply pathway
  • List provider: Gumroad's built-in for delivery; Buttondown or ConvertKit for the 5-touch sequence (Gumroad's drip is too crude for niche segmentation)
  • Segmentation: customers self-tag at checkout (Gumroad custom field "What do you do?"). Map: bookkeeper, revops, shopify-pet, other. other gets a generic sequence (not drafted yet — Tier C).

Variables

All emails use these placeholders. Set them at sequence-import time, not per-email:

  • {{first_name}} — Gumroad provides; fall back to "there" if blank
  • {{download_url}} — niche-specific download URL from Gumroad
  • {{sample_file_url}} — niche-specific sample CSV (samples/demo/...)
  • {{landing_page}} — niche-specific landing page URL
  • {{support_email}}support@datatools.app

Cadence and quiet rules

  • Don't send between 10pm-7am buyer-local-time (Buttondown supports TZ-aware send; ConvertKit doesn't out of the box)
  • If the buyer replies to any email in the sequence, pause the remaining touches until you've replied to them. A drip that ignores a customer reply reads as worse than no drip.
  • If the buyer requests a refund, kill the sequence immediately.
  • Day 14 + Day 30 emails are skippable if the buyer has already emailed support with a feature request or bug report — they're engaged enough; don't pile on.

Subject lines

Subjects are owned by marketing/COPY.md § 4. Don't edit subjects in-line in the email files; edit COPY.md and re-propagate. Same discipline applies to the closing CTA — owned by COPY.md § 0.