← Retour
04·Projet
Live · Always-on

Orchestrateur Qwen

Le contexte

Faire tourner MyCleanHub en solo sans cramer 80% de mes journées sur de l'admin, du support, du social, du reporting. La réponse : un VPS qui tourne un LLM en local et qui orchestre tout ce qui peut être automatisé.

L'infra

  • VPS Hetzner CCX23 — 8 vCPU dédiés, 32 GB RAM, IP fixe, 600 Mbps
  • Ollama + Qwen3:14b comme orchestrateur principal (assez grand pour les tâches non-triviales, assez petit pour tenir sur 32 GB avec marge pour le reste)
  • Edge Function Supabase llm-orchestrator qui sert de proxy entre les Edge crons et le VPS
  • Crons Linux pour les tâches récurrentes (briefing matinal, posts sociaux, relances)
  • Redis pour les queues et le rate-limiting cross-services
  • Tesseract, Whisper, Playwright, FFmpeg disponibles à la demande pour les tâches OCR / transcription / scraping / vidéo

Workflows automatisés

Briefing matinal (8h chaque jour)

Cron déclenche un script qui :

  1. Récupère les KPIs des dernières 24h depuis Supabase (signups, missions, MRR, churn)
  2. Pousse le contexte à Qwen3:14b avec un prompt structuré
  3. Reçoit un résumé exécutif (3-4 phrases, pas plus)
  4. M'envoie le briefing par mail + sur Telegram

Posts FB groupes (2x/jour)

Cron à 7h15 et 19h45 Paris déclenche send-fb-posts-telegram qui :

  1. Tire 3 angles sur 9 templates (Planning / Factures / SAP — chaque angle a 3 variantes)
  2. Insère le compteur fondateurs live depuis la DB
  3. M'envoie 3 posts prêts à copier-coller dans mes groupes FB cibles

Posts Instagram auto (cron 5h)

Pipeline pubgen → queue JSON → cron 5min → worker → Cloudinary → Graph API. Génère des visuels brandés mycleanhub.fr, les uploade sur Cloudinary, puis les publie via la Graph API Meta. Token long-lived 89 jours restants.

Cold outreach (Gmail SMTP)

Système qui scrappe Pages Jaunes / Maps / LinkedIn / France Travail pour identifier les pros nettoyage à recruter. Insertion dans cold_outreach_prospects, scoring, drafting du 1er cold mail via Qwen, envoi séquencé Gmail SMTP avec warm-up progressif 15 → 30 → 50 mails/jour.

Relances inactifs (9h chaque jour)

Cron qui détecte les pros qui n'ont pas posté de dispo depuis 7+ jours, les clients qui n'ont pas réservé depuis 14+ jours, et les leads froids — drafte un mail personnalisé via Qwen, l'envoie ou l'append dans une queue de drafts à valider.

Stats

  • 28 mails partis au 1er run du système de relances
  • 0 intervention manuelle sur les posts Insta depuis 2026-05-01
  • ~6h/semaine économisées sur l'admin et le social (mesuré sur 4 semaines)

Ce que j'aime de cette stack

Tout est rejouable et auditable. Les Edge Functions logguent dans Supabase. Les crons Linux loguent dans /var/log/. Si une auto m'envoie un mail bizarre, je peux retracer la décision Qwen via le prompt + la réponse.

Et surtout : le VPS est le mien. Pas de quota OpenAI, pas de coupure surprise quand un provider change ses prix.

Lefti2K

Built in Paris · Indépendant

Local time
—:—:— UTC
Status
All systems operational
© 2026 · Bilal Hamzav2026.05.05