← Back to post

Revision history

  1. Simon7b403ef

    feat(web): flatten frontmatter — drop slug, flat tags/cats, auto-bump updatedDate [skip ci]

    diff --git a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    index 0cc2816..e535654 100644
    --- a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    +++ b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    @@ -1,17 +1,16 @@
     ---
     title: "How we built a 9,000-person SMS list"
    -slug: how-we-built-a-9000-person-sms-list
     pubDate: 2026-04-05T20:04:48.000Z
     updatedDate: 2026-04-05T20:04:48.000Z
     draft: false
     excerpt: "The SMS list started at zero in early 2024. By January 2026, it was over 9,000 contacts — past attendees, ticket buyers, WhatsApp group members, and cold subscribers from Meta … Read more"
     categories:
    -  - { name: Guides, slug: guides }
    +  - Guides
     tags:
    -  - { name: format-how-to, slug: format-how-to }
    -  - { name: growth, slug: growth }
    -  - { name: sms, slug: sms }
    -  - { name: tone-instructional, slug: tone-instructional }
    +  - format-how-to
    +  - growth
    +  - sms
    +  - tone-instructional
     featured:
       src: https://cdn.slist.net/posts/how-we-built-a-9000-person-sms-list/cover.png
       alt: "Abstract dark data visualization rising from ground"
    
  2. Simon8bc867c

    content: rewrite image URLs from slist.net/wp-content to cdn.slist.net/posts/<slug>/

    diff --git a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    index 4e577c0..0cc2816 100644
    --- a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    +++ b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    @@ -13,7 +13,7 @@ tags:
       - { name: sms, slug: sms }
       - { name: tone-instructional, slug: tone-instructional }
     featured:
    -  src: https://slist.net/wp-content/uploads/ai_69d2a7cba3e6e9.14544173.png
    +  src: https://cdn.slist.net/posts/how-we-built-a-9000-person-sms-list/cover.png
       alt: "Abstract dark data visualization rising from ground"
     legacy_wp_id: 15964
     ---
    
  3. Simon3c1387f

    fix(web): point upload URLs at slist.net (cdn.slist.net not wired up yet)

    diff --git a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    index 4493d73..4e577c0 100644
    --- a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    +++ b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    @@ -13,7 +13,7 @@ tags:
       - { name: sms, slug: sms }
       - { name: tone-instructional, slug: tone-instructional }
     featured:
    -  src: https://cdn.slist.net/ai_69d2a7cba3e6e9.14544173.png
    +  src: https://slist.net/wp-content/uploads/ai_69d2a7cba3e6e9.14544173.png
       alt: "Abstract dark data visualization rising from ground"
     legacy_wp_id: 15964
     ---
    
  4. Simon5add954

    feat(web): visually mirror slist.net blog (index + single post)

    diff --git a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    index af0c02a..4493d73 100644
    --- a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    +++ b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    @@ -4,6 +4,17 @@ slug: how-we-built-a-9000-person-sms-list
     pubDate: 2026-04-05T20:04:48.000Z
     updatedDate: 2026-04-05T20:04:48.000Z
     draft: false
    +excerpt: "The SMS list started at zero in early 2024. By January 2026, it was over 9,000 contacts — past attendees, ticket buyers, WhatsApp group members, and cold subscribers from Meta … Read more"
    +categories:
    +  - { name: Guides, slug: guides }
    +tags:
    +  - { name: format-how-to, slug: format-how-to }
    +  - { name: growth, slug: growth }
    +  - { name: sms, slug: sms }
    +  - { name: tone-instructional, slug: tone-instructional }
    +featured:
    +  src: https://cdn.slist.net/ai_69d2a7cba3e6e9.14544173.png
    +  alt: "Abstract dark data visualization rising from ground"
     legacy_wp_id: 15964
     ---
     The SMS list started at zero in early 2024. By January 2026, it was over 9,000 contacts — past attendees, ticket buyers, WhatsApp group members, and cold subscribers from Meta ads. Here’s the exact infrastructure and the tactics that built it.
    
  5. Simon30e0ee3

    feat(web): full posts+pages sync, browseable UI, curated pages allowlist

    diff --git a/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    new file mode 100644
    index 0000000..af0c02a
    --- /dev/null
    +++ b/content/posts/2026/how-we-built-a-9000-person-sms-list/index.md
    @@ -0,0 +1,57 @@
    +---
    +title: "How we built a 9,000-person SMS list"
    +slug: how-we-built-a-9000-person-sms-list
    +pubDate: 2026-04-05T20:04:48.000Z
    +updatedDate: 2026-04-05T20:04:48.000Z
    +draft: false
    +legacy_wp_id: 15964
    +---
    +The SMS list started at zero in early 2024. By January 2026, it was over 9,000 contacts — past attendees, ticket buyers, WhatsApp group members, and cold subscribers from Meta ads. Here’s the exact infrastructure and the tactics that built it.
    +
    +## Source one: the click-to-text ad
    +
    +The primary growth engine is a deep link that opens the user’s SMS app with a pre-filled keyword. The link format: `sms:+18339124216?body=NYC`. User clicks the ad, their phone opens the messaging app, “NYC” is already typed, they hit send, and they’re auto-subscribed via a Twilio toll-free number.
    +
    +This runs as a Meta ad CTA across feed, reels, and stories. The CTA text reads “subscribe” — it feels more natural for SMS than “sign up.” Reels placement drives the best results for SMS acquisition: 4.7% link CTR at $0.22 per link click.
    +
    +The evergreen cold ad CTA alternates between “FOLLOW FOR NYC RAVES” and “TEXT ‘DARK’ TO 833-912-4216” depending on the campaign objective.
    +
    +## Source two: ticket buyer exports
    +
    +Every ticket platform — Posh, Resident Advisor, DICE, Shotgun — collects phone numbers at checkout. After each event, export the buyer list as CSV. These are the highest-value contacts: people who already spent money on your event.
    +
    +The deduplication process is critical. Normalize all phone numbers to E.164 format (+1XXXXXXXXXX). Dedup by phone number, not email. Keep city and state data for geographic targeting on Meta. Tag everyone by type: DJ, Booked Artist, Slister, past buyer.
    +

    Diff truncated (64 lines total). View full commit on GitHub →

Sign in to SLIST

Pick how you want to enter.