Coffee Meets Bagel — Revenue, Optimization, and a design system.
Led design across the Revenue and Optimization pillars at Coffee Meets Bagel, working with PMs and engineers on subscriber conversion, suggested-match optimization, and a from-scratch rebuild of the Single Origin design system.
Snapshot
What I shipped
Problem
Strict preferences were starving new users of suggested matches. Rewind was buried too deep in the IA. The design system was straining under multi-team growth.
What I led
Hypothesis-driven design across two pillars: loosening dealbreakers to expand inventory; surfacing Rewind as a non-sub upsell hook; rebuilding the DS for component scale.
Collaboration
Partnered with PMs on problem statements + hypotheses, engineering on feasibility + ACs, and managed contributing designers across the two pillars.
Dealbreakers — loosening preferences to grow inventory.
Problem statement: As a new user with few people left who meet my preferences in Suggested, I'm open to seeing some people slightly outside my parameters so I can match more often.
Hypothesis: If we loosen the way preferences gate Suggested (e.g. treat them as soft preferences with a "See other people if I run out" toggle, instead of hard dealbreakers), the additional inventory will retain new users better and drive more likes — which converts into sub via Likes You.



Dynamic copy tied to the user's age.
The "See other people if I run out" subcopy uses a small formula — age_bound ± FLOOR((age−18)/5) ± 3 — to widen the bound proportionally. A 22-year-old sees ±3 years; a 42-year-old sees ±7. The widening matches how people's actual openness scales with age, not an arbitrary global bound.
Rewind — turning a buried feature into an upsell hook.
Problem statement: The Rewind action was placed too deep within the IA and its value wasn't clear to non-sub users. The feature existed but wasn't earning conversions.
Hypothesis: Removing History and surfacing Rewind directly on Suggested will better showcase the value of the feature and lead non-subs to subscribe based on its value — especially via a "you missed a match" moment.



The "missed match" badge is the real lever.
When a non-sub passes on someone who has already liked them, we surface a missed-match tooltip and badge the Rewind icon. That's the moment of maximum regret — and the moment where the upsell has the highest meaning. The flow chains: missed-match notification → Rewind tap → MPU upsell with Rewind as the lead value prop.