Contact
AI Machine Learning SaaS Platform for Ad Optimization (alias AdsPower)

AI Machine Learning SaaS Platform for Ad Optimization (alias AdsPower)

SaaS platform for AI and Machine Learning-driven ad optimization: search intent classification via NLP, automated bidding and negative keyword detection across Google AdWords, Bing Ads and Facebook Ads

January 2016 - December 2018
3 years
Technical Project Manager & Co-Founder
AdsPower
Azure ML StudioNLTKTF-IDFk-meansgradient boostingPythonAngular 4/10TypeScriptSymfony 3.2Google AdWords APIBing Ads APIFacebook Ads SDKElectronCordovaGitLab CI

Project Overview

The project in brief

AdsPower was an early-stage startup building a SaaS platform for AI-driven ad campaign optimization. The core concept: ingest thousands of campaign data points - keywords, bids, quality scores, click-through rates, conversion data - and feed them into supervised classification models trained on Azure Machine Learning Studio to output actionable optimization recommendations.

Concretely, the models learned to classify user behaviors, analyze search intent via Google SERPs, predict optimal bid prices, identify high-performing keyword clusters, detect negative keywords that drained budgets, and recommend ad improvements based on historical performance patterns - the whole pipeline resulting in automatic bid optimization based on conversion rates.

The project was directly inspired by Optmyzr and Dolead (French performance marketing platform), both analyzed in depth during our competitive research.

Objectives, Context & Risks

The 4 product pillars

AI-Driven Optimization

Classify search intent and predict conversion probability per keyword via supervised classification models

Automated Bidding

Automatically optimize bids (1st page, top, 1st position) based on actual conversion rates

Negative Keyword Detection

Automatically identify and exclude keywords draining budget without conversion through semantic clustering

Quality Score

Predict and improve Quality Score via expected CTR analysis, ad relevance, and landing page experience

Market and technical context

In 2016, the SEA AdTech space was dominated by Optmyzr (US) and Dolead (France), both built on essentially heuristic recommendation engines. Azure Machine Learning Studio had just exited public preview in 2015, opening a managed path to industrialize supervised models without infrastructure. The team relied on 2 cofounders: 1 CEO/business founder and myself as Technical Project Manager & Cofounder (CTO), driving product design, application architecture, ML R&D, and investor relations.

Business and technical stakes
  • Technical: industrialize Azure ML in production with < 500 ms latency on bid recommendations
  • Regulatory: comply with Google AdWords API quotas and TOS - risk of ban if exceeded
  • Differentiation: ML-first approach (vs heuristic of established platforms on the market)
  • Survival: validate PMF (Product-Market Fit) before runway depletion (cash left before funding runs out - 18-24 months max without fundraise)
Identified risks
  • Google AdWords API quotas: rate-limiting or ban if excessive volume
  • API breaking changes: Google regularly updates TOS and schemas (confirmed by the AdWords -> Google Ads migration in early 2018)
  • Imprecise models: accuracy < 80% = loss of client trust
  • Azure ML Studio vendor lock-in: Microsoft platform still young at the time
  • Scarcity of ML skills in the Bordeaux region in 2017
  • Limited runway: bootstrapped startup with no external investor

The Steps - What I Did

Chronological journey in 4 phases

Phase 1

Research and design (January-March 2016, 3 months)

  • As Technical Project Manager & Cofounder, I led the deep competitive analysis of Optmyzr and Dolead (features, pricing, positioning)
  • I drafted the 60-page specification document and produced 40+ mockup pages for Dashboard, Campaign Manager, Keywords, Opportunities, Quality Score, Reports and AI Insights
  • On the technical choices, I committed to: Angular over React (TypeScript maturity in 2016), Symfony 3.2 for Doctrine ORM and bundles, Azure ML Studio for time-to-market, NLTK over spaCy for multi-language support
  • Overcame difficulty: facing ML talent scarcity in Bordeaux, I sourced candidates through geo-filtered GitHub search on `machine-learning` tags

Phase 2

Prototype and v1 (April-October 2016, 7 months)

  • On sprint 0, I set up Vagrant + Ubuntu 16.10, a self-hosted GitLab, the CI/CD pipeline and the first Symfony bundles
  • I built the Data Collection Service (Google AdWords + Bing Ads connectors)
  • On the competitive intelligence side, I built the SERP Scraper (Goutte + CasperJS) covering 6 engines (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo)
  • For the NLP pipeline, I set up a Python Flask sidecar (NLTK + TF-IDF) and the first Azure ML Studio models (Bid Prediction + k-means)
  • In November 2016, I delivered v1 with the first 3 beta testers
  • Overcame difficulty: to absorb 10M+ SERP requests/month, I put in place a Memcached cache and a Redis queue

Phase 3

v2 and multi-platform (November 2016 - June 2017, 8 months)

  • Following the beta testers feedback, I redesigned the UX across several screens
  • I added the Facebook Ads SDK coverage
  • On the distribution side, I produced the Electron desktop build (Mac / Windows / Linux) and the Cordova mobile build (iOS / Android)
  • For audience segmentation, I integrated the Google Prediction API
  • Overcame difficulty: facing Google's announcement of the AdWords API → Google Ads API migration in early 2018, I anticipated the full connector refactor

Phase 4

v3 Angular 10 and shutdown (July 2017 - December 2018)

  • I migrated Angular 4 → 6 → 8 → 10 across 3 major iterations
  • On the model side, I stabilized and improved the accuracy of the Azure ML models
  • On the commercial front, I signed 4 paying contracts over 18 months (vs initial target of 20)
  • I experienced a long B2B sales cycle (6 months on average), with insufficient runway to wait for funnel maturation
  • In December 2018, we had to shut the project down, budget depleted
Technical choices and ML methods
  • Supervised learning (gradient boosting, logistic regression, decision trees) trained on Azure ML Studio to predict Quality Score components
  • NLP pipeline with NLTK: tokenization, stemming, stop word removal and TF-IDF vectorization of keywords and search queries
  • k-means clustering applied to TF-IDF vectors to group keywords by search intent and detect negative keywords
  • Audience segmentation via supervised classification on demographic data (age, gender) using Google Prediction API
  • Multi-engine scraping (Google, Bing, Yahoo, Yandex, Baidu, DuckDuckGo) to collect competitive intelligence data
Concrete example: search intent classification

The problem: in Google AdWords, advertisers buy keywords in broad match. Google then triggers ads on search queries it considers similar, but which often have nothing to do with the campaign's commercial intent. An advertiser selling "professional IT supplies" could see their budget consumed by visitors searching for "free computer courses" - paid clicks that will never convert.

The ML solution: the system scraped Google search results (SERP) for each purchased keyword, analyzed the type of displayed results and extracted the thematic classification and search intent (transactional, informational, navigational). These signals were vectorized via TF-IDF and fed into a supervised classification model (gradient boosting on Azure ML).

The result: the model classified each query as relevant or irrelevant. Keywords identified as false positives were automatically suggested as negative keywords to be excluded.

This is just one example among the many optimization algorithms built into the platform.

Classification Flow

End-to-end Machine Learning Pipeline
Application architecture and services

Who I interacted with - Team & Ecosystem

The team in numbers

5

People

18+

Code repos

3

Major versions

40+

Mockup pages

My role and the recruitment

As Technical Project Manager & Cofounder (CTO), I led the entire project from conception to delivery: application architecture, Machine Learning R&D, sprint management, vendor management, and investor relations. Coordinated 4 external contractors (2 full-stack Angular/Symfony developers, 1 ML/data Python freelancer, 1 UX designer) sourced through GitHub search in the Bordeaux area.

External stakeholders I interacted with
  • 3-4 beta testers (French SEA agencies): I organized weekly feedback for 18 months and co-designed workflows with them
  • 4 paying customers I signed over 18 months of commercial activity
  • 1 Business Angel met in due-diligence - after analysis, we declined the offer
  • Microsoft Azure ML team: I maintained a partnership that gave me preview access to platform updates
  • 6 VC meetings in Paris and 2 pre-seed investment committees I led
Scrum rituals and CI/CD chain
Organizational difficulties overcome
  • Remote coordination (freelancers in Bordeaux, Paris, Toulouse) via Trello + Slack + weekly video calls
  • CEO vs Technical Project Manager roadmap divergence: the CEO pushed sales + new features, I pushed stability + model accuracy - resolved with weekly 1-1s and a jointly-prioritized backlog

Results & Achievements

For Me - Skills Acquired & Reinforced Through This Project
  • First tech startup cofounding: I took on the role of Technical Project Manager & Cofounder (CTO) and led end-to-end (design, team, delivery, investors)
  • Technical Project Manager hat in early-stage: I mastered sprint breakdown, estimation, freelancer coordination and the product roadmap negotiated with the CEO
  • Applied Machine Learning: I acquired Azure ML Studio, NLTK, gradient boosting and k-means expertise in real-world production conditions
  • Multi-year R&D track: I led budget, hiring, product prioritization and investor stakeholder management
  • On the remote team side, I managed remote freelancers and turnover over 3 years
  • Product-market fit: I concretely learned that technical excellence alone is not enough - commercial validation must precede construction
  • Long B2B cycles: I lived a 6-month average sales cycle and measured the importance of the commercial funnel vs pure R&D
  • This project changed the way I work: I permanently adopted the lean startup approach in all my subsequent CTO / Technical Project Manager missions
For the company: deliverables and milestones
  • First French SaaS platform to industrialize Azure ML Studio in production for AdTech, as early as 2016 - well before predictive models became mainstream in digital advertising
  • 3 years of continuous delivery with a stable team of 4 contractors, a controlled budget until runway depletion, and a functional product in production from sprint 1 until shutdown
  • Built a multi-platform application: web (Firebase), desktop (Electron for Mac/Win/Linux) and mobile (Cordova for iOS/Android)
  • Designed and documented a complete data model covering Google AdWords, Bing Ads and Facebook Ads ecosystems
  • 3 major backend versions in under a year, with a migration from Angular 4 to Angular 10
  • Complete project documentation: requirements doc, 4 functional specs, technical specs, data model, market study

Project Outcome

End of the adventure and project status

The project was ultimately abandoned due to lack of funding. The R&D cost was too high for a bootstrapped startup with no external financing. The product worked, the models produced real optimization recommendations, but without commercial traction the budget ran out.

Immediate aftermath (2018-2019, post-shutdown)
  • Development halted in December 2018 and production environments frozen
  • Returned to beta testers with a transition path to Optmyzr (assisted migration)
  • 4 active customers manually supported for 3 months after shutdown
  • Complete documentation archived (spec, functional specs, data model, market study) for a potential future pivot
  • Freed the 4 contractors: all found new engagements within the following month
Further out (2019-2022)
  • Postmortem talks at a Bordeaux coding school (sharing on product-market fit and Azure ML industrialization)
  • AdTech market shift: OpenAI GPT (2020-2022) reshuffles the deck, classical ML models are largely surpassed by LLMs
Today (2026)
  • Project closed, no restart or pivot planned
  • Screenshots and mockups now serve as portfolio material (see gallery below)

My Critical Reflection

Strengths
  • Technical rigor: clean DDD architecture, modular Symfony bundles, tests and CI/CD from day 0 - kept as personal standard since
  • Strategic ML choice: industrializing Azure ML Studio was the right bet in 2016 (time-to-market + managed scalability)
  • Pioneering multi-platform: desktop + mobile + web with a unified Angular codebase in 2016
  • Exhaustive documentation: requirements, specs, data model, market study
Areas for improvement
  • Too-late commercial validation: built the full v1 before confronting 3 paying prospects
  • Azure ML Studio dependency: vendor lock-in factored in too late
  • Team too tech-heavy: no dedicated growth / marketing profile, everything rested on the CEO
What I would do differently
  • Sell first, then build: 3 MOUs signed before any development sprint
  • Tiny MVP: 1 ML feature only (negative keyword detection), tested for 6 months before broadening scope
  • Open-source ML: scikit-learn + FastAPI rather than Azure ML Studio, to avoid vendor lock-in
  • Recruit a 3rd growth / marketing cofounder to balance the tech/business/acquisition trio
  • Formalize the Technical Project Manager role earlier with a shared pilot board with the CEO, to avoid silent priority drift
Lasting lessons I kept
  • Technical excellence alone doesn't make a viable business. A good product without paying customers remains an R&D project.
  • Timing matters as much as execution. The AI angle applied to advertising was ahead of its time in 2016 - making the project visionary but also harder to sell.
  • Validate the market before building the product. Too much time invested in technical R&D and not enough in commercial validation with real paying customers.
  • The ability to iterate fast is a lasting asset - this regular delivery discipline became a permanent reflex in all my subsequent projects.

Related journey

Professional experience linked to this achievement

Skills applied

Technical and soft skills applied

Image gallery

Project screenshots and visuals

AdsPower - Login Page
AdsPower - Dashboard
AdsPower - Campaign Manager
AdsPower - Keywords Manager
AdsPower - Opportunities
AdsPower - Quality Score
AdsPower - AI & ML Insights
AdsPower - Reports
AdsPower - Connections

Have a SaaS project powered by AI, LLMs or Machine Learning?

Today I work on SaaS projects powered by AI and LLMs: RAG, fine-tuning, autonomous agents, multi-model orchestration, where the goal is to turn raw data into actionable recommendations. This expertise builds on an older foundation of classical Machine Learning - industrialized on AdsPower with NLP (NLTK + TF-IDF), supervised classification (gradient boosting) and k-means clustering, integrated with several external APIs (Google AdWords, Bing Ads, Facebook Ads) into a multi-platform SaaS. If you are exploring a SaaS project around AI, LLMs or Machine Learning, let's talk about your context.

Contact me