Contact
Travaillons ensemble
Retour a l'accueil
entrepreneurship
AdsPower

Technical Project Manager · Co-founder · Early-Stage Startup

AdsPower

janvier 2016 - décembre 20183 ansCofondateur - Startup early-stageChef de projet technique & CofondateurTechnical Project Manager
AdsPower - ML-Powered Ad Campaign Optimization

Startup bootstrappée, sans financement externe. Équipe de 1 à 5 personnes selon les phases du projet.

Plusieurs casquettes portées simultanément, principalement Technical Project Manager : vision produit, architecture, développement, recrutement, gestion de projet.

Course au MVP avant épuisement de la trésorerie, décisions rapides avec information incomplète, itérations constantes.

BootstrappedÉquipe 1-5Pre-revenueFullstack founder
Le projet

Startup early-stage développant une plateforme SaaS d'optimisation des campagnes publicitaires par intelligence artificielle. Le produit utilisait le machine learning pour classifier les comportements utilisateurs, predire la probabilite de conversion et optimiser automatiquement les encheres en fonction du taux de transformation.

En tant que chef de projet technique, pilotage de bout en bout : cadrage fonctionnel et technique, planification, coordination d'une equipe de 4 freelances, et suivi de la livraison du MVP.

Mon positionnement et mon rôle

En tant que Technical Project Manager et cofondateur, j'ai piloté l'ensemble du projet de la conception a la livraison. Mon role premier etait le cadrage technique et la coordination : definition du scope fonctionnel, planification des sprints, arbitrages techniques, suivi de la qualite et des delais.

J'ai recrute et manage une equipe de 4 developpeurs freelances, avec un fonctionnement en Scrum : attribution des taches, revue de code, animation des ceremonies sprint et resolution des blocages techniques.

En parallele du pilotage projet, j'ai contribue directement au code sur les modules critiques (architecture backend, integration des API publicitaires, pipelines ML) - un positionnement hybride management + technique typique des startups early-stage.

Missions principales et responsabilités
  • Cadrage technique et redaction des specifications : traduction des besoins business en specs fonctionnelles et techniques, cahier des charges, modele de donnees (Skipper ORM Designer), analyse concurrentielle (Optmyzr, Dolead)
  • Planification et suivi de la livraison : definition du roadmap produit, decoupage en sprints, estimation de la charge, suivi d'avancement et gestion des dependances entre modules (backend, frontend, ML, APIs)
  • Gestion des risques et dependances externes : suivi des quotas API AdWords, anticipation des breaking changes, plan de contingence pour les services tiers (Google Prediction API, Azure ML), gestion des blocages techniques entre modules
  • Pilotage de la R&D en intelligence artificielle : definition des objectifs ML, supervision de la construction des pipelines de classification (Azure ML, NLTK, TF-IDF, k-means) pour classifier les intentions de recherche et optimiser les encheres selon le taux de conversion
  • Integration des API publicitaires (Google AdWords, Bing Ads, Facebook Ads) : cadrage des contraintes techniques, coordination du developpement des connecteurs d'import/export et de reporting
  • Conception de l'architecture technique : backend Symfony multi-bundles, frontend Angular SPA, API RESTful avec JWT, pipelines ML deployes comme services REST
  • Mise en place de la chaine CI/CD (GitLab CI) : deploiement automatique en staging, release manuelle en production, definition des criteres de qualite (tests, couverture ML)
  • Production de la documentation projet : cahier des charges, specifications techniques detaillees, specifications fonctionnelles (back-office, front-office partie privee, front-office partie publique), modele de donnees, etude de marche
Encadrement technique

Recrutement de 4 developpeurs freelances specialises (ReactJS, Angular) dans la region bordelaise, identifies via recherche GitHub. Chaque freelance avait un perimetre defini (modules frontend, integrations API, tests) avec des livrables clairs par sprint.

Objectifs globaux du poste
  • Livrer un MVP fonctionnel dans les delais et le budget d'une startup bootstrappee
  • Valider l'approche d'optimisation par IA avec des donnees publicitaires reelles avant epuisement de la tresorerie
  • Construire une architecture scalable supportant plusieurs plateformes publicitaires (Google, Bing, Facebook)
  • Recruter, structurer et coordonner une equipe de 4 freelances autour de pratiques Agile Scrum
Gestion de projet & méthodologie

Méthodologie Agile

Organisation du travail en Scrum adapté au contexte startup : sprints de 2 semaines gérés sur Trello, daily stand-ups quotidiens en remote, sprint reviews avec démo du produit, rétrospectives pour ajuster le processus. Backlog priorisé selon l'impact business et la faisabilité technique - la règle : si une feature ne rapproche pas du MVP, elle n'entre pas dans le sprint.

Priorisation & scope du MVP

Décisions de scope guidées par un principe simple : livrer le minimum qui valide l'hypothèse business. Chaque feature candidate passait par un filtre en 3 questions - est-ce que ça aide à signer un premier client ? Est-ce que ca réduit un risque technique bloquant ? Est-ce que ca peut attendre la v2 ? Cette discipline a permis de livrer 3 versions majeures du backend en moins d'un an.

Arbitrages techniques

Arbitrages permanents entre vitesse et qualité. Choix d'une architecture Symfony multi-bundles plutôt qu'un monolithe - plus long à mettre en place mais indispensable pour répartir le travail entre freelances. A l'inverse, choix délibéré d'un frontend Angular Material avec composants Syncfusion pré-faits plutôt qu'un design custom - gain de 2 mois de développement frontend.

KPIs de pilotage

Suivi de la vélocité par sprint (story points livrés), taux de complétion des sprints, nombre de bugs critiques en staging, couverture des tests automatisés sur les modules ML, et time-to-deploy (de la feature branchée au staging accessible).

Machine Learning & Intelligence Artificielle

AdsPower était une plateforme SaaS construite autour du machine learning pour optimiser les campagnes publicitaires en ligne (Google AdWords, Bing Ads, Facebook Ads).

Le concept central : ingérer des milliers de points de données de campagnes - mots-clés, enchères, quality scores, taux de clic, données de conversion - les injecter dans des modèles de classification ML, et produire des recommandations d'optimisation actionnables. La plateforme entraînait des modèles pour prédire les prix d'enchères optimaux, identifier les clusters de mots-clés performants, détecter les mots-clés négatifs qui drainaient les budgets, et recommander des améliorations d'annonces basées sur les patterns de performance historiques. Le projet était directement inspiré d'Optmyzr et de Dolead (plateforme française de performance marketing), tous deux analysés en profondeur durant notre recherche concurrentielle.

3

API publicitaires

6

Modules d'optimisation

3

Plateformes cibles

18+

Dépôts de code

Approche ML & techniques d'optimisation

Techniques de machine learningmises en place pour l'optimisation des campagnes AdWords, inspirées des approches d'Optmyzr et Dolead.

  • Apprentissage supervisé avec des modèles de classification (gradient boosting, régression logistique, arbres de décision) entraînés sur des datasets de campagnes étiquetés via Azure Machine Learning Studio pour prédire les composantes du Quality Score : CTR attendu, pertinence de l'annonce et expérience de la page de destination
  • Workflow complet d'apprentissage supervisé sur Azure ML : ingestion de données depuis les exports de l'API AdWords, ingénierie de features (type de correspondance, appareil, geo, heure, jour, position, CTR historique), entraînement de modèles avec validation croisée, ajustement d'hyperparamètres, évaluation de précision (précision, rappel, F1) et déploiement des modèles entraînés comme services web REST
  • Moteur d'optimisation des enchères utilisant des modèles de classification entraînés pour prédire la probabilité de conversion par mot-clé et contexte d'enchère, produisant des prix d'enchères recommandés pour les placements première page, haut de page et première position
  • Pipeline de Traitement du Langage Naturel (NLP) avec NLTK : tokenisation, stemming, suppression des stop words et vectorisation TF-IDF des données de mots-clés et requêtes de recherche pour extraire des features sémantiques pour les modèles ML
  • Apprentissage non supervisé avec clustering k-means appliqué aux vecteurs TF-IDF pour regrouper les mots-clés par intention de recherche, découvrir des opportunités de mots-clés longue traîne et détecter automatiquement les mots-clés négatifs drainant les budgets publicitaires
  • Segmentation d'audience par classification supervisée sur données démographiques (âge, genre) et patterns comportementaux via Google Prediction API pour cibler les groupes d'annonces plus précisément
  • Scraping multi-moteurs de recherche (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo) pour collecter des données de veille concurrentielle et les injecter dans les modèles d'optimisation comme features d'entraînement supplémentaires
Exemple concret : classification des intentions de recherche

Le probleme : dans Google AdWords, les annonceurs achetent des mots-cles en correspondance large (broad match). Google declenche alors les annonces sur des requetes de recherche qu'il juge proches, mais qui n'ont souvent rien a voir avec l'intention commerciale de la campagne. Un annonceur vendant des "fournitures informatiques professionnelles" peut voir son budget consomme par des visiteurs cherchant "cours d'informatique gratuit" ou "reparation PC a domicile" - des clics payes qui ne convertiront jamais.

La solution ML : le systeme scrapait les resultats de recherche Google (SERP) pour chaque mot-cle achete, analysait le type de resultats affiches (resultats shopping, fiches produit, articles informationnels, forums..) et extrayait la classification thematique et l'intention de recherche (transactionnelle, informationnelle, navigationnelle). Ces signaux, combines aux donnees de performance historiques (CTR, taux de conversion, cout), etaient vectorises via TF-IDF et injectes dans un modele de classification supervise (gradient boosting sur Azure ML).

Le resultat : le modele classifiait chaque requete de recherche visiteur comme pertinente ou non-pertinente par rapport a l'objectif commercial de la campagne. Les mots-cles identifies comme faux positifs etaient automatiquement proposes en mots-cles negatifs pour etre exclus de la campagne. Sans ce systeme, il etait impossible de detecter systematiquement les depenses gaspillees sur des intentions utilisateur hors-cible.

Ceci n'est qu'un exemple parmi les nombreux algorithmes d'optimisation construits dans la plateforme.

Ce que j'ai appris en Machine Learning

Ce projet a été une expérience formatrice en machine learning. Azure ML Studio a été mon terrain d'apprentissage pour le supervisé : j'ai appris à préparer des datasets étiquetés à partir d'exports bruts de campagnes AdWords, à concevoir des features pertinentes, à sélectionner et comparer des algorithmes de classification (régression logistique pour l'interprétabilité, gradient boosting pour la précision, arbres de décision pour l'explicabilité), à entraîner des modèles avec des splits de validation croisée, à évaluer les résultats avec des matrices de confusion et des scores F1, et a déployer des modèles prêts pour la production comme endpoints API.

En parallèle, j'ai construit des compétences pratiques en NLP via NLTK - comprendre comment transformer du texte brut en vecteurs numériques via TF-IDF, et comment appliquer le clustering k-means non supervisé pour découvrir des patterns dans les données. Cette combinaison de classification supervisée et de clustering non supervisé m'a donné une base solide en machine learning appliqué qui va bien au-delà de la théorie.

🎯Apprentissage supervisé
🧠Classification de modèles
🔧Ingénierie de features
📝NLP & TF-IDF
📊k-means Clustering
☁️Azure ML Studio
Stack technique

Backend & Framework

PHP 7Symfony 3.2Doctrine ORMMySQL

Frontend & SPA

Angular 4Angular 10TypeScriptAngular MaterialSyncfusion EJ2

Machine Learning & NLP

Azure MLNLTKTF-IDFk-meansGoogle Prediction API

API publicitaires

Google AdWords APIBing Ads APIFacebook Ads SDK

Visualisation de données

HighchartsChart.jsD3.js

Infrastructure & CI/CD

GitLab CIVagrantFirebaseElectronCordova

API & Sécurité

REST APIJWT AuthFOSRestBundleNelmio ApiDoc
Répartition de l'effort technique
Réalisations clés
  • Utilisation pionnière du Machine Learning Azure pour l'optimisation publicitaire par IA
  • Pilotage d'efforts significatifs en R&D en intelligence artificielle pour la gestion de campagnes publicitaires
  • Construction d'une application multi-plateforme : web (Firebase), desktop (Electron pour Mac/Win/Linux) et mobile (Cordova pour iOS/Android)
  • Conception et documentation d'un modèle de données complet couvrant les écosystèmes Google AdWords, Bing Ads et Facebook Ads
Issue du projet

Le projet a finalement été abandonné par manque de moyens budgétaires. Le coût de la R&D était trop important pour une startup bootstrappée sans financement externe. Le produit fonctionnait, les modèles produisaient de vraies recommandations d'optimisation, mais sans traction commerciale le budget s'est épuisé.

Leçons de startup
  • L'excellence technique seule ne fait pas un business viable. Un bon produit sans clients payants reste un projet R&D. La validation commerciale doit avancer au meme rythme que le developpement.
  • Le timing compte autant que l'exécution. L'angle IA appliqué à la publicité était en avance sur le marché en 2016 - ce qui rendait le projet visionnaire mais aussi plus difficile à vendre à des annonceurs pas encore familiers avec le machine learning.
  • Valider le marché avant de construire le produit. Trop de temps investi en R&D technique (multi-plateforme, 3 API publicitaires, ML avancé) et pas assez en validation commerciale avec de vrais clients payants.
  • La capacité d'itération rapide est un atout durable. 3 versions majeures du backend en moins d'un an, passage d'Angular 4 a Angular 10, refonte du pipeline ML - cette discipline de livraison rapide est restée un réflexe permanent dans ma carrière.
Mon regard sur cette expérience

AdsPower est le projet qui m'a plongé dans le machine learning et l'IA. C'est l'expérience qui a transformé ma vision du développement : passer d'un développeur full-stack classique à un profil capable de concevoir, entraîner et déployer des modèles de machine learning sur des problématiques business concrètes.

Le projet était ambitieux - probablement trop pour une startup bootstrappée - mais il a forgé ma compréhension de la façon dont le ML peut résoudre des problèmes business réels. L'angle IA était en avance sur son temps en 2016, ce qui rendait le projet visionnaire mais aussi plus difficile à vendre.

Ce que je retiens le plus : la discipline d'itérer vite et la connaissance pratique approfondie du machine learning que je porte encore aujourd'hui.

Compétences associées

7 Compétence technique · 5 Compétence humaine

AdsPower Sign In page
Sign In
AdsPower Dashboard overview
Dashboard
AdsPower Campaign Manager
Campaign Manager
AdsPower Keywords Manager
Keywords Manager
AdsPower Quality Score analysis
Quality Score
AdsPower Opportunities discovery
Opportunities
AdsPower Connections management
Connections
AdsPower AI and Machine Learning Insights
AI / Machine Learning Insights
AdsPower Reports and analytics
Reports