Daily iOS
iOS system design

Delivery rider app

Design an app for delivery riders. The screen mockups are given: order list, order detail and accept, pickup, delivery complete. Walk me through the whole flow, focusing on the order state machine and how you keep it in step with the server.

How would an interviewer hear this answer? You'll see whether they'd move on, dig in, or say no, and which sentences would trip you up. Your score doesn't change.
See the short answer

Model the order as an explicit state machine (offered→accepted→pickedUp→delivered/cancelled) where the server settles every transition. Screens use MVVM plus a Coordinator that shows the screen for each state, and the API is GET /orders(active), POST /orders/{id}/accept|pickup|deliver (with an idempotency key and client time), and POST /location (batched).

Share a question