Contexte
La crypto bouge tous les jours. Repérer les nouveaux tokens de qualité, les contextualiser et en parler avant les autres : c'est un travail à temps plein. Moon List a deux objectifs :
- Côté éditorial : une newsletter quotidienne qui résume les 3 à 5 pépites du jour.
- Côté distribution : un pipeline d'automation qui transforme chaque édition en short vidéo et la publie automatiquement sur YouTube Shorts, TikTok, Instagram Reels, et Twitter/X via le persona "The Sheriff".
Le challenge métier
Produire à la cadence quotidienne sans y passer ses journées. La réponse : industrialiser de bout en bout, depuis la découverte du token jusqu'à la publication finale, en passant par une chaîne de filtrage et de synthèse qui ne garde que la pépite.
Le flow opérationnel en 6 étapes
Le pipeline va de la découverte de tokens à la publication multi-canal en une chaîne sans intervention humaine :
- 1. Découverte : scan des nouveaux tokens du jour via les APIs CoinGecko et CoinMarketCap.
- 2. Recherche préliminaire : collecte rapide de données brutes pour chaque token candidat (volume, market cap, holders, âge, signaux sociaux).
- 3. Scoring de pertinence : filtre algorithmique qui retient les 3 à 5 tokens les plus intéressants du jour pour une publication immédiate. Les autres candidats qui passent un seuil minimum sont stockés dans une database de projets pour alimenter une diffusion continue : pool de retargeting éditorial, comparatifs, follow-ups quand la traction évolue.
- 4. Recherche approfondie : Grok 4.1 fait du deep research sur les tokens retenus (contexte, équipe, traction, signaux on-chain).
- 5. Résumé haute densité : un LLM rédige avec la voix éditoriale "The Sheriff", dans un format dense et lisible en 2 minutes.
- 6. Repurpose multi-canal : deux branches en parallèle :
- Pipeline vidéo : Remotion + TTS génèrent 4 formats publiés sur YouTube Shorts, TikTok, Instagram Reels, Twitter/X (via PostForMe + TryPost)
- Newsletter : email HTML délivré via Resend API
CoinGecko + CoinMarketCap"] A --> B["2. Recherche préliminaire
data brute par token"] B --> C{"3. Scoring de pertinence"} C -->|top 3-5 du jour| D["4. Recherche approfondie
Grok 4.1 : contexte / team / traction"] C -->|seuil minimum| DB[("Database projets
retargeting éditorial
diffusion continue")] DB -.réinjecté plus tard.-> D D --> E["5. Résumé haute densité
LLM voix Sheriff"] E --> V["6a. Pipeline vidéo
Remotion + TTS"] E --> N["6b. Newsletter HTML
Resend API"] V --> V1["YouTube Shorts
via PostForMe"] V --> V2["TikTok
via TryPost"] V --> V3["Instagram Reels"] V --> V4["Twitter/X · The Sheriff"]
Stack technique
- Python 3 + async
- CoinGecko (rate-limited 333 calls/day)
- CoinMarketCap
- Grok 4.1 (recherche contextuelle)
- Tkinter GUI pour pilotage manuel
- Remotion (React/TypeScript)
- Templates 1080 × 1920 multi-formats
- OpenCV / PIL pour overlays
- TTS Edge-TTS · Qwen-TTS · Fish Audio
- Resend API (newsletter HTML)
- PostForMe (publishing API)
- TryPost (multi-plateforme)
- YouTube API + IG Graph API
- publishing_log.csv (1 307 lignes)
- Suivi par token, par plateforme, par persona
- A/B testing thumbnails et hooks
3 décisions d'architecture clés
1. Persona "The Sheriff" comme couche d'éditorialisation
Plutôt que de publier "Théodis dit que ce token est bon", j'ai créé un persona narratif ("The Sheriff") qui a sa voix, son humour et sa cadence. Le pipeline applique automatiquement ce vernis éditorial. Avantage business : le persona scale, l'humain non. Avantage Salesforce : c'est exactement la logique de Marketing Cloud Personalization, un même message décliné en N versions par segment.
2. Multi-TTS pour éviter le risque vendor lock-in
J'ai 3 moteurs TTS branchés : Edge-TTS (gratuit Microsoft), Qwen-TTS (Alibaba) et Fish Audio (payant premium). Si l'un casse ou augmente ses prix, le pipeline bascule. C'est la version "amateur" d'une stratégie multi-cloud, et c'est suffisant pour une opération solo.
3. Logging exhaustif via CSV plutôt que database
1 307 lignes de publishing_log.csv tracent
chaque publication : token, plateforme, heure, persona, statut. Pas de base SQL, pas d'infra. Juste un CSV
versionné. C'est de la traçabilité 80/20, suffisante pour l'audit et l'A/B testing rétro.
Résultats
Lien direct avec Salesforce
Moon List est un Marketing Cloud Engagement Studio version "1 personne". Voici la cartographie :
- 1 300+ publications multi-plateformes = Calendrier Marketing Cloud Engagement Studio avec splits par canal.
- Persona "The Sheriff" = Marketing Cloud Personalization : un message décliné en N versions.
- Crypto Scout enrichi via 3 APIs externes = Enrichissement de leads via Salesforce Connect / DataCloud.
- Newsletter HTML via Resend + tracking d'opens/clics = Marketing Cloud Email Studio avec Web Analytics Connect.
- publishing_log.csv (audit trail) = Salesforce Field History Tracking + Reports d'audit.
- Fallback multi-TTS = pattern Apex retry / fallback service côté plateforme.
Lessons learned
- L'éditorial peut être un actif réutilisable : le persona "Sheriff" a survécu à 4 itérations produit, alors que la stack a changé 2 fois.
- La distribution multi-plateforme coûte cher en orchestration : chaque plateforme a ses formats, ses quotas, ses créneaux idéaux. PostForMe m'a fait gagner environ 10h par semaine.
- 1 307 publications n'ont pas suffi à exploser : la cadence sans angle éditorial fort plafonne vite. La leçon : itérer sur le message plutôt que sur le volume.