Work
Product leadership, and products built solo with AI agents
Case studies from my product leadership roles. Each opens in place: the situation, what I drove, and what changed. Below them, products I build on my own — my designs, specs, and test plans, with AI agents executing the engineering.
Product leadership
Natural-language creator discovery across an index of six million creators.
A seed-stage startup selling creator discovery. Keyword search could not express what brands were actually looking for — "creators like this one" — across an index of six million.
As first product hire, took AI search from concept to platform: semantic, visual, multilingual, and lookalike retrieval. After the acquisition, took over search quality — built the evaluation framework and ran the observability program against it.
Affable's search became the primary creator-sourcing engine inside Bazaarvoice's platform. The quality program took demographic model accuracy from 72% to 93% and cut latency 68%.
Through the early stages of the creator discovery launch, search quality was assessed anecdotally — a client complaint, a demo that went well — on top of basic volume and query data. The index held over six million creators, and whether the top twenty results for a query were the right twenty went unmeasured. At seed stage, with one product person, that was a deliberate trade-off.
After the acquisition, Creator Search was the primary creator-sourcing engine inside an enterprise platform, which meant its quality needed to be measurable: a golden set of queries with agreed-correct results, an accuracy metric the team could interrogate, and an observability program to catch regressions before clients did.
The first measurement put demographic model accuracy at 72%. That baseline turned an open question into a prioritized backlog, with every failure case in the golden set becoming an item of work. The program closed at 93% accuracy, with latency down 68%. The same period shipped a creator brand-safety score on the GARM framework, reading image, video, and caption to flag risk at the point of discovery.
Three tools, one managed product: sampling, ambassadors, and paid creators.
Enterprise clients bought sampling, ambassadors, and paid creators as three disconnected tools, which meant three sales motions, three roadmaps, and no unified value story.
Authored the investment case that reset portfolio priorities, then architected the unified offering: a 9.5M+ member community, ambassadors, and paid creators sold and operated as one managed product. Held Sales, Finance, and four engineering teams to one definition of it.
Enterprise clients can now buy content sourcing by community mix rather than assembling it from three tools. It anchored a $16M YoY growth category.
The three tools came with three roadmaps and three owners, each with commitments already made to clients and leadership. The investment case argued two things: that the portfolio's growth targets did not work with the offerings sold separately, and that fixing this meant stopping some funded work to make room. The second argument consumed most of the alignment effort, because a priority reset means walking back commitments already made by other owners, which had to be negotiated stakeholder by stakeholder.
What shipped is one managed product: the 9.5M-member sampling community, ambassadors, and paid creators packaged, sold, and operated together. A large share of the work went into coordination, since the offering definition had to hold simultaneously across Sales (one thing to sell), Finance (one thing to price), and four engineering teams (one architecture to build against) without drifting every planning cycle.
Bazaarvoice's first creator payments platform: strategy, build-versus-buy call, and the build itself.
Deals kept dying at the same objection: the platform could not pay creators. The company had never moved money before.
Built the payments strategy and roadmap, including a decision framework for build-versus-buy, defended the build decision to leadership, and shipped Bazaarvoice's first creator payments platform end to end (admin-led managed transfers, full transaction history) across Legal, FinOps, and Finance.
It addressed 28% of previously lost Affable deals and unblocked 24 stalled commercial conversations. Payments now runs underneath Integrated Sampling.
The framework evaluated build-versus-buy against the roadmap rather than against the deal in front of us. Payments was not going to stay a one-off checkbox: sampling payouts, ambassador incentives, and affiliate commissions were all heading toward the same rail within eighteen months, and a vendor integration would have to be redone for each of them. Owning the rail meant building it once.
There was reasonable pushback. Finance preferred a specific vendor, Legal preferred the smallest possible compliance surface, and a credible vendor already existed for this exact use case, so taking on money-movement risk voluntarily required strong justification. The framework resolved it on a narrow point: the vendor route solved the immediate deal and left the roadmap use cases — payouts, incentives, commissions — each requiring its own re-integration.
The build scope covered admin-led managed transfers, full transaction history, and a new compliance path defined with Legal and FinOps. After launch it addressed 28% of previously lost Affable deals and reopened 24 stalled commercial conversations, and the platform now serves as the payment rail under Integrated Sampling.
A specialist team, moved to AI-native ways of working.
The portfolio's roadmap was moving toward AI features faster than the team's ways of working were. Closing that gap was not a planned initiative, so it had to be argued for change by change.
Changed the team's operating model: embedded AI prototyping into scoping, stood up an evals discipline, set the agentification roadmap for creator marketing workflows, backed an agent prototype ahead of engineering capacity, secured LLM tooling, and coached PMs through their first AI features.
The team now ships AI features with an evaluation discipline built in. Intelligent Product Tagging went from 10% to roughly 60% model accuracy in a year across 25 enterprise pilot clients, with phased OKRs met.
The shift ran as a sequence of small changes rather than a program, with the case for each made separately. LLM tooling was argued for and secured. AI prototyping was embedded into the scoping process, so feasibility questions were answered before commitment instead of during the build. An agent prototype (on Mastra) was built ahead of engineering capacity, accepted as an unresourced bet so the team would have a working reference point when capacity opened up.
The clearest measurable evidence came from Intelligent Product Tagging, which was stuck around 10% model accuracy with no evaluation framework to explain why. Under the new operating model the team built a golden set, read failure cases against it, and treated each prompt revision as a hypothesis to test. Accuracy reached roughly 60% within a year across 25 enterprise pilot clients, with phased OKRs met along the way. That discipline is now the default for the team's AI work.
Transactional video-on-demand, built and launched in weeks when cinemas closed.
March 2020: cinemas shut and the core business went to zero. A transactional streaming product was needed in weeks.
Launched transactional VoD across web, mobile, and TV; owned discovery, checkout, and cross-device end to end, re-prioritizing weekly as the market moved.
It carried the company's revenue while theatres stayed shut: ~80% of revenue at ~30% MoM growth. Support voice volume came down 30%.
Cinemas closed in March 2020 and the company's core revenue went to zero with them, which compressed the discovery phase to near zero as well: the brief was a transactional streaming product on web, mobile, and TV, live in weeks. Alignment that would normally take a quarter happened in days, and the resulting plan went stale almost weekly as the market moved. Owning discovery, checkout, and cross-device in that environment meant re-deciding every week which of the previous week's calls still held.
It carried roughly 80% of company revenue, growing about 30% month over month, for as long as the theatres stayed shut. The second metric is support: voice volume came down 30%, through a reworked Help section and contextual chat, which scaled better than adding support capacity under that load.
Built with AI
Products I build on my own: I design them, write the specs, and direct AI agents through the engineering. Each ships with a written strategy, a decision log, and a test plan. New ones are added as they're built.
A dictionary for the language of AI: a web app and Chrome extension that underlines AI terms on any page.
Try it live at aidecoder.app → GitHub →
Run as a product org of one: strategy doc and taxonomy, a content style contract that every batch is validated against, Supabase with row-level security, and store submission.
The content pipeline runs scheduled batch generation against a database, sized for a glossary in the thousands. Hand-curation stopped scaling at a few hundred entries, which forced the redesign.
Designed, spec'd, and QA'd by me; engineered by AI agents against my decision log and test plan.
248 glossary entries were violating the content style contract — inconsistent tone and missing fields, the drift that accumulates when entries are written by hand for long enough. The data was rewritten to match the contract rather than the display code patched to tolerate it, and the validator now fails any future batch that breaks the rule.
Local-first personal finance that ingests Gmail statements and categorizes spending with an LLM, entirely on-device.
LLM categorization sits behind a confidence gate: low-certainty rows route to human review instead of a silent guess. A golden-set eval gates every prompt change before it ships.
Corrections are logged append-only and fed back as few-shot examples. The suite runs 100+ automated tests. The same evals discipline from the Bazaarvoice work, applied solo.
Designed, spec'd, and QA'd by me; engineered by AI agents against my decision log and test plan.
Deleted the local database out of an old demo-phase habit; it held the real encrypted Gmail token rather than test data. No code failed. The gap was in process: demo-phase habits had not been retired when the build started touching real state. The rule changed the same day, and the incident is recorded in the decision log under its own number.
Amazon price intelligence in the browser: daily checks, below-target alerts, trend forecasts.
A dual-mode parser (DOM, plus HTML-regex for the service worker) reads product pages. Linear-regression forecasting runs over price history, backed by a full logic-test suite.
The edge cases came from testing against real product pages rather than fixtures. That is how the phantom-price bug below was caught.
Designed, spec'd, and QA'd by me; engineered by AI agents against my decision log and test plan.
An unavailable product was recording a related-product carousel's price as its own, and one false below-target alert fired before it was caught. Diagnosed against the real Amazon page. The fix deleted the page-wide price fallback entirely: when the page carries no reliable price, recording nothing is the correct outcome.
The job search as a pipeline: posting in, tailored cover letter out.
A multi-step pipeline runs from a clipped LinkedIn posting through research and resume selection to a drafted cover letter, with a per-run token cap on every step.
The letter generator reads a personal writing style guide live, as its contract. The resume library does text extraction, and the whole thing runs Dockerized in one command.
Designed, spec'd, and QA'd by me; engineered by AI agents against my decision log and test plan.
— in Mumbai, India