Skip to main content

System Design

Taxi

Design the Taxi Offerings screen for a taxi app. This screen presents users with a list of available taxi options—such as Standard, SUV, Minivan, and Luxury—each displaying key details like estimated time of arrival (ETA), price, and available promotions. The data is highly dynamic and can change rapidly due to real-time factors such as driver availability, traffic conditions, and surge pricing.

Your task is to design the mobile client-side architecture for this screen. Focus on how the system should handle live updates, maintain a smooth and stable user experience, and scale as the feature grows in complexity.

Design Wireframe

Prompts to Consider

  • What is the user's goal on this screen, and what experience do they expect?
  • What are the core challenges in designing this feature on the client side?
  • How should the client and server communicate? What does an ideal client-server contract look like?
  • How should the client handle frequent updates to taxi data (such as ETAs and prices) without overwhelming the UI?
  • How will the client handle failures such as network issues?
  • How does your design scale as new taxi types, promotions, or sorting rules are introduced?