S3 · Naming brand
playbook/S3-naming-brand.md
S3 — Naming & Brand (track parallèle non-bloquant)
Décision architecturale (2026-05-16) : S3 n'est PLUS dans le critical path du sprint. Le sprint ship immédiatement sur
{sprint_slug}.atelier.com(subdomain pattern à la Polsia). Le naming "vrai" + achat .com + handles + trademarks est un track async qui ne bloque ni S4 ni S5 ni S6. Quand le nom est prêt, on swap DNS et redirect — pas de réécriture de code.Objectif : finir le track async avec 1 nom validé + 1 .com acheté + 4 handles réservés, avant J30 du sprint (pas avant S4). Le sprint principal continue sans attendre.
Durée
Async sur 1–5 jours en parallèle des autres stations (vs bloquant 1 journée dans la v0). Achat du .com = 5 min quand le finaliste est validé via Telegram review-after.
Subdomain par défaut (le truc qui débloque)
Au démarrage du sprint, on déploie sur {sprint_slug}.atelier.com :
sprint_slug= nom de travail issu de l'idea card (ex:prearrival,dunningmath,airlift)- Vercel project configuré pour pointer sur ce subdomain par défaut
- Stripe checkout/products labellés avec le sprint_slug en attendant le rebrand
- Email sender =
hello@{sprint_slug}.atelier.com(Resend domainatelier.comconfiguré)
Quand le track naming livre, le swap est un one-liner : vercel domains add {final}.com + redirect 301 depuis {slug}.atelier.com → {final}.com. Stripe products renommés via 1 PATCH API.
Pré-requis : acheter atelier.com (ou ton root domain) une seule fois, le hosting subdomain est ensuite gratuit.
Inputs
- Output S2 : positioning gap + unfair angle (1 paragraphe)
- Output S1 : ICP narrow (pour vérifier la résonance émotionnelle du nom)
Output (livrables verrouillés)
runs/{sprint}/03-naming-brand.md— 50 candidats → 5 finalistes → 1 pickruns/{sprint}/assets/— logo provisoire (Canva via MCP ou en main), palette, captures de dispo- Section
s3_branddansstartup.json - 📱 Gate Telegram : approval Martin sur le pick final + acheter le .com
Critères de verrouillage (TOUS requis)
- 25 candidats minimum générés selon les 4 frameworks (cf. ci-dessous).
- 5 finalistes shortlistés avec, pour chacun, le résultat de 9 checks indépendants :
.comavailable (priorité 1).ioavailable (fallback)- X (Twitter) handle available
- Instagram handle available
- LinkedIn vanity URL available
- TikTok handle available
- USPTO trademark search clean
- EUIPO trademark search clean
- Google search "[nom] saas" doesn't surface a strong incumbent dans les 3 premiers résultats
- 1 finaliste avec tous les 9 checks au vert. Si aucun ne passe les 9, on génère 25 candidats supplémentaires (S3.5) jusqu'à en avoir 1.
- Approval Telegram Martin sur le pick. La gate exige : pic du nom + screenshots des 9 checks + 1 phrase de rationale.
- Domaine acheté dans les 15 min suivant l'approval. Pas "demain". Maintenant — Namecheap ou Cloudflare Registrar.
- 4 handles réservés dans la foulée (X, IG, LI, TikTok) — créés en mode privé/draft.
Contraintes fondateur (filtre obligatoire AVANT génération)
Ces contraintes éliminent des candidats AVANT même de passer aux 4 frameworks. À appliquer comme regex/filtre programmatique :
- Pas plus d'un 'r' dans le nom complet (count('r') ≤ 1). Source : Martin 2026-05-16, contrainte phonétique/esthétique perso, voir
feedback_naming_no_double_r.md. - 3–15 caractères (court mais pas cryptique).
- Prononçable EN + FR sans ambiguïté (test à voix haute).
- Aucune connotation négative EN/ES/FR/IT/DE (Google Translate auto-check).
- Pas dur à épeler au téléphone (pas de Q/X/Z en position centrale ambiguë).
Si une nouvelle contrainte fondateur émerge en cours de sprint, l'ajouter ici + dans la memory feedback_* correspondante.
Les 4 frameworks de naming
Framework 1 — Compound (2 mots concrets)
Logique : 2 mots du langage business connus, juxtaposés, qui forment une expression nouvelle mais immédiatement compréhensible. Ex : Stripe (stripe + pay), Mailchimp, Notion, Slack, Shopify, Calendly, ConvertKit. Quand l'utiliser : ICP B2B pro, ton sérieux, vente outbound. Le nom doit s'épeler facilement au téléphone.
Framework 2 — Abstract (mot inventé / hybride)
Logique : mot court (5–8 lettres), pas un mot réel dans aucune langue cible, sonorité douce, .com plus facile à obtenir. Ex : Vercel, Pulumi, Replit, Cuely, Linear, Mercury, Cursor, Arc. Quand l'utiliser : produit qui veut devenir une marque-catégorie ; ICP B2B tech, design-conscious.
Framework 3 — Metaphor (objet du monde réel)
Logique : un objet, un animal, un métier réel qui incarne la promesse du produit. Ex : Atelier (workshop), Foundry, Anchor, Beacon, Compass, Sommelier, Cellarhand. Quand l'utiliser : produit narrativement chargé, story-driven, vente content-marketing.
Framework 4 — Founder-credible
Logique : un nom qui n'a de sens que si tu sais qui est le fondateur. Très puissant en build-in-public. Ex : Buffer (Joel), Basecamp (37signals → DHH), Pieter Levels' RemoteOK / NomadList. Quand l'utiliser : Martin a une marque perso forte ; vente largement par narrative founder.
Process
Étape 1 — Brief de naming (30 min)
Rédiger un brief de naming en 5 lignes : positioning gap (1 ligne), unfair angle (1 ligne), ICP narrow (1 ligne), 3 émotions cibles que le nom doit évoquer (1 ligne), 3 noms qu'on NE veut PAS sonner comme (1 ligne).
Étape 2 — Génération 50 candidats (1h30)
Prompt l'agent avec le brief + les 4 frameworks. Demander 50 candidats répartis (12-13 par framework). Chaque candidat doit avoir :
- Le nom
- Le framework utilisé
- 1 ligne de rationale
- 1 ligne d'objection auto-générée (le négatif)
Élaguer manuellement : retirer ceux qui rappellent un autre brand (subconscious capture), ceux qui sont durs à épeler, ceux qui ont une connotation négative dans 1 des langues cibles.
Étape 3 — Check dispo des 10 meilleurs (1h30)
Sur les 10 finalistes pré-shortlistés, lancer les 9 checks en batch :
# .com / .io — script de check
for name in NAME1 NAME2 NAME3 ... ; do
for tld in com io ; do
whois "${name}.${tld}" | grep -i 'No match\|status: free\|NOT FOUND' && echo "${name}.${tld}: AVAILABLE"
done
done
# Handles X — script de check via API publique
for name in NAME1 NAME2 ... ; do
curl -s "https://twitter.com/${name}" | grep -q 'Account suspended\|account doesn.t exist' && echo "x.com/${name}: AVAILABLE"
done
# Instagram — pareil
# LinkedIn vanity URL — manuel via linkedin.com/in/{name}
# TikTok — pareil
Trademark USPTO : https://tmsearch.uspto.gov/ (search exact + similar). Trademark EUIPO : https://euipo.europa.eu/eSearch/
Étape 4 — Shortlist 5 finalistes (30 min)
Garder les 5 candidats qui ont le plus de checks au vert (idéalement 9/9 pour ≥1). Documenter avec screenshots dans runs/{sprint}/assets/dispo/.
Étape 5 — Décision Martin via Telegram gate (15 min)
Message Telegram généré automatiquement par S3 :
🏷 ATELIER S3 — Approval naming nécessaire
Sprint : {sprint_id}
Positioning gap : {1 ligne}
Top 1 — {NAME1} [9/9 checks ✅]
Domain .com : libre, prix ~12€/an
Rationale : {1 phrase}
Top 2 — {NAME2} [8/9 checks]
...
Top 3 — ...
Réponds : 1, 2, ou 3
Une fois la réponse reçue : achat .com immédiat + réservation handles + push update startup.json.
Prompt canonique de génération (Opus 4.7 thinking)
Tu es S3 Brand Architect d'Atelier. Voici le brief de naming :
POSITIONING GAP : {s2.positioning_gap}
UNFAIR ANGLE : {s2.unfair_angle}
ICP : {s1.who_for}
ÉMOTIONS CIBLES : {3 émotions}
À NE PAS SONNER COMME : {3 noms}
Tu génères 50 candidats de nom, répartis en 4 frameworks :
- 12-13 Compound (2 mots concrets, ex: Stripe, Mailchimp, ConvertKit)
- 12-13 Abstract (5-8 lettres, mot inventé, ex: Vercel, Linear, Cursor, Arc)
- 12-13 Metaphor (objet réel, ex: Atelier, Foundry, Anchor, Beacon)
- 12-13 Founder-credible (a du sens si on connaît Martin Ohannessian)
Pour chaque candidat :
- name (3-15 char, prononçable EN+FR)
- framework
- rationale (1 phrase)
- objection (1 phrase auto-critique)
Critères absolus :
- Pas de subconscious capture (ne doit pas rappeler un brand existant)
- Pas dur à épeler au téléphone
- Pas de connotation négative en EN/FR/ES/IT/DE
- 6 lettres ou moins pour les Abstract (priorité .com)
Top 10 candidates ranked by your taste at the end + 1 phrase de justification du ranking.
Format : JSON array de 50 + section "Top 10 ranked" Markdown.
Anti-patterns
- "On garde le nom de travail" (PreArrival, Forge, etc.) → souvent OK pour le sprint, mais checker les 9 dispos AVANT de s'attacher. Beaucoup de noms de travail tombent au check trademark.
- Domaine .io accepté faute de .com → tolérable mais signal de mauvaise sélection. Si pas de .com, regen.
- Skipper le trademark check → risque cease-and-desist à 50k MRR. Toujours USPTO + EUIPO.
- Nom qui décrit la feature, pas la marque ("EmailUpsellPro") → impossible à scaler vers d'autres features. Pense marque-catégorie.
- Acheter le domaine après le launch → quelqu'un te le rafle. Achète dans les 15 min post-approval.
Lien S4
Le nom validé + l'unfair angle deviennent l'input du copy de landing (S6) et de la première palette/typo du design system (S4). Le brief de naming est lui-même un mini-brief de marque.
Update startup.json (après S3)
{
"current_station": "S4",
"s3_brand": {
"completed_at": "<iso8601>",
"telegram_gate_approved_at": "<iso8601>",
"doc": "03-naming-brand.md",
"candidates": [/* 50 */],
"finalists": [/* 5 avec 9 checks chacun */],
"final_name": "...",
"final_domain": "...com"
}
}