Skip to content
Back to Projects

Uber-Style Event Routing Platform

Design the system architecture capable of handling millions of concurrent rider and driver location updates without dropping messages.

~11 hrsAdvanced4 Parts
Architecture DesignCapacity EstimationTrade-off AnalysisSLA EngineeringKafkaFlinkIcebergCost Modeling
  ┌─────────────┐     ┌──────────────┐     ┌──────────────┐
  │  SOURCES    │     │  INGESTION   │     │  PROCESSING  │
  │             │     │              │     │              │
  │ Rider App   │────▸│ Kafka Topics │────▸│  Flink Jobs  │
  │ Driver App  │     │ 50 topics    │     │  Windowing   │
  │ Payments    │     │ 1B events/d  │     │  Enrichment  │
  │ Maps API    │     │              │     │              │
  └─────────────┘     └──────────────┘     └──────┬───────┘
                                                   │
                         ┌─────────────────────────┘
                         │
                         ▼
  ┌─────────────┐     ┌──────────────┐     ┌──────────────┐
  │  SERVING    │     │   STORAGE    │     │  GOVERNANCE  │
  │             │     │              │     │              │
  │ Driver ETA  │◂────│ Iceberg      │     │ SLA/SLOs     │
  │ Surge Price │     │ Hot/Warm/Cold│     │ Observability│
  │ Analytics   │     │ 5 PB total   │     │ Cost Control │
  │ ML Features │     │              │     │              │
  └─────────────┘     └──────────────┘     └──────────────┘

Fig 1.1: Uber event platform architecture -- 6 layers, 1B events/day

What You'll Design

Architecture Blueprint

Six-layer platform architecture handling 1B events/day across ride, payment, and mapping domains.

Scale Engineering

Capacity planning from startup (10K events) to hyperscale (1B events/day) with cost modeling at each tier.

SLA & Reliability

99.99% availability SLAs with disaster recovery, backfill strategy, and incident response playbooks.

Cost Tradeoffs

Compute vs storage vs latency optimization. Justify every dollar of your $2.4M/year platform budget.

Progressive Build Path

Each part builds on the previous. Watch your platform design evolve from requirements to a complete staff-level architecture.

Total: ~11 hours across 4 parts

Your Design Challenge

You are the Staff Data Engineer at Uber. The VP of Data asks you to redesign the event platform.

THE BRIEF

You've just been promoted to Staff Engineer. Your first project: redesign Uber's event platform from scratch.

CONSTRAINTS

  • 4 source systems: Rider App, Driver App, Payments, Maps
  • Current: 10K events/day (startup phase)
  • Target: 1B events/day within 18 months
  • Budget: Start at $50K/month, justify every increase
  • SLA: 99.99% availability, <5 min latency for analytics
  • Compliance: GDPR (EU riders), CCPA (US riders)
  • Team: 4 data engineers (you're hiring 2 more)

DELIVERABLE

A complete system design document with architecture diagrams, capacity estimates, cost projections, and trade-off rationale.

What Makes This Different

No Code, All Architecture

Pure whiteboard exercises. You design systems using diagrams, trade-off matrices, and capacity calculations -- exactly like a Staff interview.

Constraints-Driven

Every decision has a cost. Budget caps, SLA requirements, and team size force real trade-offs -- not academic ideals.

Progressive Complexity

Start at 10K events/day. By Part 4, you're defending a 1B events/day platform with disaster recovery and $2.4M annual budget.

Prerequisites

  • Familiarity with data platform concepts (Kafka, Spark, data lakes)
  • Understanding of distributed systems basics
  • 2+ years of data engineering experience (recommended)
  • Complete System Design skill toolkit first (or have equivalent knowledge)

Related Skill Toolkit

This project pairs perfectly with the System Design for Data Engineers skill toolkit. Complete the modules first for maximum understanding, or dive straight in if you have prior system design experience.

View System Design Skill Toolkit

New to Kafka? Read the complete guide to topics, partitions, consumer groups, and retention before diving in.

What is Apache Kafka? — Full Guide

Ready to design?

Press Cmd+K to open