S6 · Launch outreach
playbook/S6-launch-outreach.md
S6 — Launch & Outreach (J12–13)
Objectif : finir le sprint avec 10 premiers utilisateurs payants (ou 10 réponses qualifiées), pas juste une URL live. C'est la station qui distingue Atelier des "AI startup builders" qui s'arrêtent au MVP.
Durée
2 journées (J12 = landing finale + Product Hunt scheduling ; J13 = 100 outreach emails + build-in-public posts).
Inputs
- URL live + Stripe live (S5)
- One-pager S1 + unfair angle S2 (pour le copy)
- ICP narrow S1 (pour le targeting outreach)
- Nom + domaine validés (S3)
- Le template build-in-public (à scaffolder en v0)
Output (livrables verrouillés)
- Landing page finalisée (Hormozi framework : Hook → Problem → Dream → Solution → Proof → CTA)
- Product Hunt launch programmé (date J + 7, hunter trouvé)
- 100 emails outreach envoyés via Resend ou Lemlist, personnalisés par prospect
- 3 posts build-in-public publiés (X thread + LinkedIn post + 1 vidéo verticale Twitter/IG)
- 📱 Gate Telegram : preview landing + sample 5 emails + PH launch date
Critères de verrouillage
- Landing testée sur 3 prospects ICP avant publication (5-second test : ils comprennent quoi tu fais ?).
- 100 emails envoyés (pas 50). Personnalisés (signal récent : poste récent, job change, pain point explicite) — pas un template générique.
- PH launch scheduled avec un hunter qui accepte de poster (pas Martin lui-même). Date J+7 idéale (mardi-jeudi).
- 3 posts build-in-public publiés AVANT la fin de J13. X thread (10–15 tweets) + LinkedIn post long + 1 vidéo verticale (60–90 sec, B-roll des écrans).
- 5 réponses positives minimum sur les 100 emails (5% baseline acceptable). Si < 5, l'ICP ou le pitch est cassé → escalation S1 review.
Process
J12 matin — Landing finale (3h)
Template Hormozi-style (à canoniser dans le template, voir Build-in-public template) :
[HOOK] Headline (1 ligne) : la promesse outcome-based la plus brutale possible
ex: "Turn the 30 days before check-in into 4000€ of upsell per stay."
[PROBLEM] Le pain spécifique de l'ICP, en 1 paragraphe + 3 bullets
[DREAM] L'état du monde si le produit fonctionne (PAS la feature, l'OUTCOME)
[SOLUTION] Comment ça marche en 3 étapes max, avec screenshots produit
[PROOF] - Dogfood Martin : 1 screenshot du résultat sur Masia (S1 unfair asset)
- 1-2 testimonials (même fictifs en v1 — labélisés "design partner")
- 1 stat parlante (ROI, payback, etc.)
[CTA] 1 seule action : "Start free trial" ou "Book a 15-min PoC call"
Stripe Checkout EMBEDDED — pas de "request a demo" form
J12 après-midi — Product Hunt prep (2h)
- Trouver un hunter (pas Martin directement) : checker https://producthunt.com/leaderboard pour les hunters actifs dans la verticale. DM avec un pitch de 3 lignes.
- Écrire les assets PH : tagline (60 char), description (260 char), 5 images (1 cover + 4 screenshots), 1 GIF démo 30 sec.
- Programmer la date : J+7, mardi ou jeudi, lancement 00h01 PST (recouvre les fuseaux US + EU).
- Préparer le launch comment : Martin commente le sien dans les 30 min avec un "Why I built this" personnel.
J13 matin — Outreach 100 leads (3h)
Sourcing des 100 prospects
3 sources possibles (en priorité) :
- VibeProspecting MCP — match-business / enrich-prospects sur le segment ICP narrow
- LinkedIn Sales Nav export + Apollo enrichment pour emails
- Pharow (FR) ou Ocean.io (international) — outils de prospection b2b
Filtrer dur : matchent exactement l'ICP S1 (titre + segment + trigger temporel).
Personnalisation (par prospect)
Pour CHAQUE email, l'agent (ou humain en v0) :
- Va voir le profil LinkedIn du prospect
- Identifie 1 signal récent (post < 30j, job change < 90j, mention de pain S1 explicite, levée de fonds, lancement produit)
- Rédige les 2 premières lignes ad-hoc sur ce signal
- Garde les 3-4 lignes suivantes templated (proof + CTA)
Template canonique :
Subject: {hook-spécifique-au-signal-prospect}
Hi {first_name},
{2 lignes sur le signal récent — "j'ai vu votre post sur X" ou "félicitations pour Y"}
{2 lignes sur le pain S1 + comment {nom_produit} le résout}
{1 ligne de proof — Masia / Martin dogfood / 1 testimonial}
{CTA simple : "15 min cette semaine pour vous montrer en live sur votre data ?"}
— Martin
Envoi via Resend (transactionnel) ou Lemlist (séquence)
Resend : 100 emails one-shot, dashboards de delivery, pas de séquence follow-up. Lemlist : meilleur si on veut une séquence 3-touch (D0, D+3, D+7) avec stop-on-reply automatique.
V0 v0 : Resend pour les 100 premiers. Lemlist intégré en v2 du sprint.
J13 après-midi — Build-in-public (3h)
3 livrables, à publier dans cet ordre :
1. X thread (10–15 tweets, ~2h de rédaction)
Structure :
T1 — Hook + outcome ("J'ai construit X en 14 jours. Voici les résultats.")
T2-T3 — Le problème + qui en souffre
T4-T7 — Comment je l'ai construit (méthodologie Atelier en filigrane)
T8-T10 — Les surprises / leçons (build-in-public authentique)
T11-T12 — Les chiffres (MRR jour 1, conversions, etc.)
T13 — CTA (lien produit + early access)
T14-T15 — Crédits / open question
Publier 9h-10h heure FR (peak US-east + EU). Threading via Typefully ou direct.
2. LinkedIn post (long, 1500 char max)
Plus narratif que le thread X. Mêmes points mais avec :
- Une accroche sur le pain Martin personnel (Masia, etc.)
- Tag 5-10 personnes pertinentes (peers, premiers users design-partner)
- 1 image visuelle (screenshot dashboard ou résultat)
3. Vidéo verticale 60–90 sec (X / IG / TikTok)
Format minimal viable :
- Script en 3 actes : pain (15s) → produit en action (40s) → CTA + lien (10s)
- B-roll : screen recording du produit (gstack screenshot tool ou Loom)
- Voice : Martin direct camera ou voice-over
- Tools : Descript pour le montage rapide, ou direct upload TikTok native
Gate Telegram (15 min, après J12 après-midi)
🚀 ATELIER S6 — Approval launch nécessaire
Sprint : {sprint_id}
LANDING preview : {url_preview}
PH launch : {date} · hunter : {handle}
Outreach : 100 emails prêts → demain matin envoi
Sample 5 emails : {lien vers preview ou copy-paste}
Posts BIP : draft thread X + draft LinkedIn
Réponds : GO ou CORRIGER {section}
Build-in-public template (à scaffolder en v0)
templates/build-in-public/
├── thread-x.template.md # 15-tweet structure avec placeholders
├── post-linkedin.template.md # 1500-char structure
├── video-script.template.md # 3-act structure 60-90sec
├── ph-tagline.template.md # 60-char + 260-char descriptions
└── outreach-email.template.md # personalization pattern
Prompt canonique (Launch Captain agent v1)
Tu es S6 Launch Captain d'Atelier. Tu reçois startup.json après S5 (URL live + Stripe live + repo).
Tu produis dans l'ordre :
J12 :
1. Affiner app/page.tsx (landing) en suivant le framework Hormozi
- Hook = headline outcome-based ; Problem/Dream/Solution/Proof/CTA strict order
- Test sur 3 prospects ICP via Loom shareable link avant publication
2. Product Hunt prep :
- Identifier 5 hunters actifs dans la verticale + DM
- Écrire les assets : tagline 60 char, description 260 char, 5 images, 1 GIF 30s
- Scheduler la date J+7
J13 :
3. Sourcer 100 prospects via VibeProspecting MCP (filtre ICP exact S1)
4. Pour CHAQUE prospect, enrichir avec 1 signal récent (post LinkedIn récent ou job change)
5. Générer 100 emails personnalisés (template canonique + 2 premières lignes ad-hoc)
6. Envoyer via Resend (one-shot v0) — log delivery status dans startup.json
7. Publier 3 build-in-public assets :
- X thread 10-15 tweets (heure FR 9h-10h)
- LinkedIn post 1500 char avec tags
- Vidéo verticale 60-90 sec (script + B-roll)
8. Mettre à jour startup.json.s6_launch avec tous les URLs + counts
Tu ne shippes RIEN sans gate Telegram Martin (preview landing + sample 5 emails + PH launch date).
State input :
<input>
{startup_json_after_s5}
</input>
Anti-patterns
- Envoyer 100 emails template générique → 0 réponse. La personnalisation des 2 premières lignes est non-négociable.
- PH launch sans hunter externe → l'algorithme déteste les self-launches. Toujours un hunter tiers.
- Build-in-public après la fin du sprint → trop tard, le narratif est éteint. Doit être publié pendant ou immédiatement à la fin de J13.
- CTA "Book a demo" → conversion 5x plus basse qu'un Stripe Checkout direct. Embed le checkout sur la landing.
- Pas de tracking conversion → tu vas pas savoir quoi optimiser en S7. Posthog events sur tous les clicks CTA.
Lien S7
Les 100 emails envoyés + le dashboard Posthog branché en S5 deviennent les inputs de S7. Le verdict GO/PIVOT/KILL à J30 dépend des conversions mesurées sur cette base.
Update startup.json (après S6)
{
"current_station": "S7",
"s6_launch": {
"completed_at": "<iso8601>",
"telegram_gate_approved_at": "<iso8601>",
"landing_url": "...",
"product_hunt_scheduled_at": "...",
"emails_sent": 100,
"prospects_source": "VibeProspecting",
"responses_received_d0": ...,
"build_in_public_posts": [
{ "platform": "x", "url": "..." },
{ "platform": "linkedin", "url": "..." },
{ "platform": "tiktok", "url": "..." }
]
}
}