Problem Understanding
Restate the problem in your own words.
Design Tinder (Bidirectional Matching)
Design a Tinder / Hinge-class bidirectional matching system: each user opens the app and gets a deck of candidate profiles to swipe left or right on; a right-swipe is only a match if the other person has also right-swiped. The interesting decisions cluster around (1) the candidate generator — geo-bucketed by H3 cell, filtered by preferences, deduped against already-seen — and (2) the reranker, which uses an ELO-style desirability score plus recency + diversity. Writes (swipes) dominate the system at billions / day; matches and the post-match chat are a downstream fan-out. Anti-abuse is mandatory because the product is unusable if a bot army drowns out real candidates.
- TinderThe category-defining swipe app. ~75 M MAU; billions of swipes / day; H3-cell candidate generation.
- HingeReply-driven feed instead of pure swipe; same bidirectional matching shape.
- BumbleWomen-first reply rule layered on top of the same matching primitives.
- OkCupidOlder Q&A-driven matcher; less swipe-y but the bidirectional ledger is identical.
Your task: read the problem above, then write what the system is, who uses it, the rough scale, and the headline UX expectation — in your own words. Submit for AI review when you're ready.
Click any step in the sidebar to jump around — sections don't have to be done in order. Press ? any time to see all shortcuts.