10+ years across digital advertising, SaaS and AI. I own an agentic advertising platform where agents run campaigns that used to need a person, and I write product code alongside our engineers.
Before that: ad measurement for Disney and Bell, a product built from nothing, and three AI apps shipped on my own.
Roadmap and backlog ownership, specs with acceptance criteria, customer discovery, prioritization, release go/no-go calls.
Agentic workflow design, prompt and context engineering, human-in-the-loop boundaries, reviewing model output before it ships.
Claude Code daily — product code and pull requests to engineering. React, TypeScript, Supabase, LLM and platform APIs.
Programmatic and DSPs, publisher operations, affiliate platforms, campaign optimization across seven-figure budgets.
Attribution logic, viewability and verification with ComScore, DoubleVerify and IAS, foot-traffic and outcome signals.
Tableau, Power BI, Google Analytics, A/B testing and experiment design, working with data scientists on large datasets.
Ask anything you'd ask in a screening call. A live model answers, but it can't answer from memory — it has to retrieve. Six agents hold different parts of my record, and the model decides which ones to consult. Every node that lights up is a tool call it actually made to answer you — or click an agent yourself to query it directly.
Ask it something it shouldn't know
The model only sees what these six agents return. If it doesn't know something, it says so rather than filling the gap — the same rule I put on agents in production.
Every AI team faces the same question: what should an AI agent do automatically, and when must a human approve it?
Below is how I handle AI guardrails in production — demonstrated using Date Magnet, an AI dating coach I built and shipped solo on Google Play.
AI confidence tells you how sure the model feels. Reversibility tells you what it costs if it's wrong.
Low risk (reversible): generating bio drafts or rating photos. Bad suggestions cost nothing to ignore.
High risk (irreversible): charging a credit card or sending a message to a real match. Once executed, it cannot be undone.
Date Magnet is a dating-profile coach I designed, built, shipped and monetized on my own. You upload profile screenshots; it scores them, ranks your photos, rewrites your bio, and drafts openers for a match.
Set the line yourself below, then hand it a real job and watch where it stops to ask you.
See it on Google Play →{{ verdict }}
{{ runNote }}
Setting up and managing programmatic campaigns was a person clicking through screens. Slow, repetitive, and it scaled linearly with headcount. The obvious answer was agents. The non-obvious part was how much to let them do.
The full product surface: requirements and specs, the prompts and workflows behind the agents, backlog refinement with engineering, and the production go/no-go call each release. I use Claude Code daily to write product code and submit pull requests to our engineers.
Where the agent acts alone versus where a human approves. I stopped reasoning from model capability and started reasoning from consequences. The line is reversibility, not confidence. If an action can be undone cheaply the agent does it; if it commits budget you can't get back, a person signs off. A model's confidence tells you how it feels, not what it costs to be wrong.
Location intelligence connecting digital ad exposure to in-store foot traffic — I defined the attribution logic and worked with data scientists to ingest and structure the third-party datasets behind it.
These were different products and it matters. One I took from concept to launch. The other was already at scale — 8M+ users and $24M ARR — and my job there was growth and retention, not zero-to-one.
Owned strategy and roadmap from concept through launch. Prioritized on competitive analysis and customer feedback rather than internal opinion, and worked through Agile sprints with engineering and design to ship.
Drove 50% revenue growth through pricing, packaging and funnel decisions, and 15% retention improvement through continuous A/B testing and iteration on the analytics.
Managing something already large teaches a different discipline than building from nothing. On a product with millions of users, the cost of a wrong call is measured in churn you don't see for a quarter.
For most of my career I could describe what needed building and then wait for someone else to build it. Every handoff lost intent, and when I got pushback I couldn't tell a real constraint from an easy no.
Three apps live on Google Play, all AI-native. DareUp — three party games in one, where every card is generated from the players' real names across five escalating heat levels, with offline fallback cards so a dead connection doesn't end the party. Date Magnet — a dating coach that scores profile screenshots with a vision model, ranks photos, writes bios, generates openers from a match's profile, rescues stalled conversations, and runs Sage, a coach that retains your profile and match context so advice stays personal. First Date Questions — conversation cards across three modes, generated fresh, no account, nothing stored. React and TypeScript on Supabase, LLM and vision APIs, RevenueCat for subscriptions and one-time unlocks. Built with Lovable and Claude.
When an engineer says something is a two-week job, I now have a real sense of whether that's true, and when I'm wrong I learn something instead of nodding. At work I can build a rough version before asking anyone to spend a sprint on it — that has killed bad ideas early and made good ones easier to explain.
Fortune 500 accounts, agency side. I presented campaign performance and optimization strategy directly to client executives — translating measurement concepts for people who don't speak AdTech.
Implemented brand safety and ad verification with MRC-accredited vendors ComScore, DoubleVerify and IAS. Lifted viewability from 40% to 60% and cut wasted spend 20–60% through quality monitoring and performance analysis.
This is where I learned that measurement is a trust product. Advertisers don't churn because a number is slightly wrong. They churn when they stop believing the number.
{{ e.d }}
My strength is the layer between technology and business. Deciding what to build, what an agent should be trusted with, and what it costs when it's wrong.
I build products around models, not the models themselves. APIs, agentic workflows, evaluation of output quality in production. Model architecture and evaluation research is someone else's craft, not mine.
I work through BI platforms and alongside data scientists. Tableau, Power BI, experiment design. Daily hands-on SQL isn't where I've spent the last few years.
Montreal, working across North America. Roles, collaborations, a look at something you are building, or just an argument about where the autonomy line belongs — all equally welcome.