System Design
Drag components onto the canvas, wire them, and trace a request. Live rules flag anti-patterns as you build. These are Opendoor's core design topics.
0/6 done
- Fetch listings in a geographic areaDesign the read path for a real-estate app that returns all active listings inside the map viewport the user is panning. Hundreds of millions of listings, viewport queries must feel instant, and the same hot areas are requested over and over.40m
- Ops task board with real-time fanoutDesign a job/task board for Opendoor ops. Hundreds of people use the same board; when someone marks a task complete, everyone else should see the change in near real time.40m
- Home transaction: offer acceptance to closingDesign a system that manages a home-selling transaction from offer acceptance through closing — inspection, financing, title, and the final close — with steps that can fail and be retried.45m
- Pricing / offer generation for sellersDesign a system that generates home offers for sellers: take in home data, compute a price, route to human review when needed, and present a versioned offer the seller can act on.40m
- Reconcile inventory vs financial recordsDesign a system that reconciles home-inventory records against financial transaction records at scale, flags mismatches by severity, and routes the serious ones to a human review queue.40m
- Real-time updates to many viewersDesign how an ops board (or any shared workflow) pushes changes to everyone watching within a second, across multiple app servers, without hammering the database.35m