Product Manager — AI/ML & Consumer
Shipping AI-powered consumer features to 28M+ monthly job seekers at Workday. Independently designed and built a consumer AI film recommendation engine on GCP from 0 to 1.
Case Study 01 — Founder
Consumer app · 0-to-1 · Vertex AI + BigQuery · Reinforcement Learning
The Problem
You have access to 36,000 titles. You still can't decide what to watch.
It's 8pm. You open Netflix, then Hulu, then Prime. You check a review tracker - built for logging, not discovering. You try a streaming aggregator - it tells you where to watch, but assumes you already know what you want. 28 minutes later, you're rewatching something you've already seen.
The average American streaming subscriber wastes 110 hours per year just deciding what to watch. Not watching. Deciding.
The Insight
Cold start is a UX problem, not an ML problem.
Instead of waiting for history to accumulate, design interactions that extract high-signal preference data in the first 30 seconds. Tinder didn't solve match quality with compatibility surveys - it made expressing preference so frictionless that users generate thousands of data points without realizing it. Mood selection, history import, a swipe interface: data collection strategies in disguise.
Pick a mood. Optionally describe a vibe: "something quietly devastating, like a Hirokazu Koreeda film." The app surfaces one recommendation at a time - swipe yes, no, or "already seen." Each interaction sharpens the model. The more you use it, the less time it takes.
The Build
Layer 1 - Cinephile DNA
Every film scored on how it feels, not what it's about. 12 dimensions, generated at temperature 0.0 with frozen model versioning - deterministic and drift-free. A mood selection becomes a vector query; Vertex AI Search for Media returns the nearest matches in under 500ms.
Layer 2 - Feedback Loop
Every interaction is a signal. The model learns in real time.
Six weighted behavioral signals feed back into the user's preference vector via Vertex AI reinforcement learning. A "watched it and hated it" carries a clickbait penalty (-1.5) - a film that overpromised is more damaging to trust than one you simply skipped. The model is penalized for misleading matches, not just wrong ones.
Recommendation flow — interactive prototype
Data Infrastructure
Hover any teal node for a summary. Click to open GCP documentation.
What I'd do differently
I'd build a Wizard of Oz version first - manually picking films based on mood inputs - before touching infrastructure. The build was right; the sequencing wasn't. I'd also add a post-recommendation survey earlier. The algorithm catches what people click. It doesn't catch whether the recommendation felt right before they swiped.
Case Study 02 - Workday
AI/ML · Candidate-facing product · 28M monthly users · 356M annual applications
Workday is enterprise HR software - except for the product I own. The candidate experience is the public-facing layer job seekers hit when applying to companies like Apple, Google, and Visa. 28 million people a month. 356 million applications in 2024. The candidate has no contract with Workday. Building well for them is an act of pure product conviction.
Job seekers apply in the dark - no idea how competitive the role is or how they stack up. They waste time on applications they won't get. Recruiters waste time filtering the mismatch. Both sides lose. The solution I built addresses both sides simultaneously, without exposing any individual candidate's data.
Feature 1 - Announced at Workday Rising 2024
Candidate Insights: giving job seekers competitive intelligence before they apply
I led Candidate Insights - surfaces real-time intelligence to job seekers before they apply. Skills match, experience percentile, applicant pool composition, similar role redirects. If the role isn't right, the feature says so before they waste the application.
Serves both sides of the marketplace with one feature - zero compromise
Feature 2 - In Development
Resume-to-Jobs matching: flip the discovery model for candidates
A companion feature flips the model: upload your resume once, get proactively surfaced to matching open roles. Driven by the same deep learning matching model that produced a 15% improvement in quality-of-hire and 37% lift in candidate sentiment. Candidate Insights tells you how you fit a role; Resume-to-Jobs finds the roles that fit you.
What I'd do differently
I'd push harder for regular candidate interviews from the start. Users who can't leave your product give you some of the most honest feedback you'll ever get - we weren't capturing enough of it.
How I Think
The standard fix is a popular-content fallback while data accumulates. I think that misses the point. The real question is how you make expressing preference so effortless that users generate signal constantly, without thinking about it.
Tinder didn't solve match quality with surveys. Every swipe in Kini is a training signal collected passively in half a second. Cold start isn't a waiting problem. It's a design problem.
At Workday, candidates can't vote with their feet. They can't switch to a competitor or leave a bad App Store review. They just deal with the experience we built. That constraint turned out to be a sharper test of product empathy than market pressure.
When users can't leave, you build for people - not retention metrics. That's the most important thing this work taught me.