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>
This commit is contained in:
2026-05-02 14:04:37 +00:00
parent 966af8ef94
commit e1f364f010
36 changed files with 1741 additions and 15 deletions

View File

@@ -0,0 +1,35 @@
# Shopify-pet · Post 3 — Soft offer
**Where to post:** IndieHackers, r/shopify monthly self-promo, Shopify
community "apps & tools" forum, pet-business newsletters.
**Format:** ~250 words.
---
## Title
DataTools — a $49 desktop tool that gets your Shopify customer export Klaviyo-import-ready in 30 seconds
## Body
Built this for my own store and figured fellow Shopify owners might want it.
The problem: Shopify's customer CSV export is *almost* Klaviyo-ready, but not quite. Phones in five different formats. Hidden whitespace in addresses. Duplicate-customer rows from the same person ordering twice with slightly different emails. Country fields blank for half your international orders. You either fix it by hand every month or accept that ~15-20% of your list is broken.
**DataTools** is six CSV tools as one pipeline:
- **Format standardizer** — phones to E.164 (Klaviyo-ready), addresses normalized, currencies in your store's locale
- **Dedupe** — fuzzy matching catches "Sarah O'Brien" = "sarah obrien" = "Sarah OBrien" before they become 3 customers in Klaviyo
- **Text cleaner** — strips zero-width spaces, BOMs, weird unicode the customer typed on their phone
- **Gate** — quarantine rows that won't survive the import (missing email, malformed phone) so you know what got dropped and why
- **Analyzer** — runs first, tells you what's wrong before you start fixing
- **Splitter** — chunks oversized exports for tools with row limits
Runs **locally** on Mac/Win/Linux. Customer data never goes to a server — that was the whole point. No subscription. **$49 one-time**, v1.x updates included.
Demo (with synthetic data) and download: datatools.app/shopify-pet
Built by a fellow Shopify store owner. Happy to answer questions in the thread.
— {{your-name}}