Retour aux projets
Produit analytics En ligne

MetricFlow

Un dashboard analytics qui regroupe les métriques réseaux sociaux, les retours Formbricks et les observations d'équipe au même endroit. Self-hosted, sans dépendance à un SaaS qui peut changer de prix du jour au lendemain.

Nuxt 3DirectusPostgreSQLn8nChart.jsCoolify
MetricFlow

Un outil que j'ai construit pour moi avant de le construire pour les autres : une seule page qui dit ce qu'il s'est passé sur une présence en ligne depuis la semaine dernière. Les chiffres des réseaux sociaux, les réponses aux formulaires, les notes prises à la main quand on observe quelque chose. Tout au même endroit, tout à jour, sans avoir à ouvrir cinq onglets le lundi matin.

Le problème : la donnée est partout, et nulle part

Si tu pilotes une marque, une asso, ou juste ta propre visibilité, tu connais la situation. YouTube a son interface. Instagram la sienne. Facebook une autre encore, et ce n'est pas la même. TikTok évidemment. Formbricks si tu récoltes du feedback. Et au milieu, toi, qui essaies de répondre à une question simple : est-ce que ce que je fais marche ?

Personne n'a le temps de faire la tournée de cinq tableaux de bord chaque semaine pour reconstituer une vue d'ensemble à la main. Je ne cherchais pas un outil de plus. Je cherchais un endroit qui rassemble ce qui existe déjà et le rende lisible.

La première décision : où vit la complexité

Le réflexe classique, c'est de brancher chaque API directement dans le front. Une fonction pour YouTube, une pour Instagram, une pour TikTok. Ça marche le premier mois. Puis une plateforme change son API, et il faut retoucher le front, le retester, le redéployer. Multiplie par le nombre de sources et tu passes ton temps à réparer de la plomberie.

Cette séparation, c'est le cœur de l'outil. Les workflows n8n vont chercher les données chez chaque plateforme, les normalisent dans un format commun, et les poussent dans Directus. Le front n'a plus qu'à afficher une source propre et unique. Le jour où j'ajoute une plateforme, je n'ouvre pas le code du site, j'ajoute un workflow.

La deuxième décision : à qui appartient la donnée

Il existe des dizaines de SaaS qui font de l'agrégation analytics. Beaucoup sont très bien. Tous ont le même défaut : tes données vivent chez eux, et le jour où ils changent de tarif, ferment une fonctionnalité ou disparaissent, tu n'as pas le choix.

C'est le même principe que je défends sur tous mes projets, appliqué à mon propre outil. Posséder ce qui fait tourner les choses, ce n'est pas une posture, c'est ce qui fait qu'un produit tient dans le temps.

Ce que tout ne mesure pas

Une dernière chose, et elle compte autant que le reste. Tout ne se chiffre pas. Un post qui ne fait pas de vues mais qui a déclenché trois messages privés intéressants, ça ne rentre dans aucune métrique d'API. MetricFlow laisse une place pour ça : on peut ajouter à la main une observation ou une recommandation, au milieu des chiffres. Parce qu'un tableau de bord qui ne montre que ce qui se mesure automatiquement raconte une histoire incomplète.

Réalisations techniques :

  • Agrégation des métriques YouTube, Instagram, Facebook et TikTok via les APIs officielles
  • Récupération des réponses de formulaires depuis Formbricks
  • Workflows ETL n8n pour la collecte, la normalisation et la mise à jour automatique
  • Saisie manuelle d'observations à côté des données chiffrées
  • Visualisation Chart.js, le tout en self-hosted sur Hetzner via Coolify

Où c'est

L'outil tourne en ligne sur metricflow.fr. Le code n'est pas public, mais l'application l'est. Si tu veux voir la démo ou discuter de l'architecture derrière, le bouton est juste en bas de cette page.

Architecture

La stack, expliquée.

Nuxt 3

Front qui affiche les données, sans connaître les APIs externes

Directus

Backend et API REST, source unique pour le front

PostgreSQL

Stockage des métriques agrégées et des observations

n8n

Workflows ETL qui vont chercher et normalisent les données

Chart.js

Visualisation des séries, sans réinventer la dataviz

Prochaine étape

Envie de discuter
de ton projet ?

Clarifier mon projet