Design a Photo Album
Problem Statement
Design a photo album app from a frontend product architecture perspective. The interviewer may provide three mockups:
- Album list screen showing a cover photo and album name.
- Single album screen showing photos, with actions to add photos and rename the album.
- Photo info or original-size photo screen.
Reported Robinhood follow-ups include cross-device real-time sync, sorting photos by city, sorting in descending order, and handling photo upload.
This walkthrough follows the Product Architecture framework: requirements, data model, API design, high-level client architecture, and product trade-offs.
Treat this as a Frontend Engineer product architecture interview. Define the client-facing API contracts you need, but spend the bulk of the answer on user flows, state management, upload behavior, sorting, sync, rendering, and failure handling.
Common Aliases
- Photo Album system design
- Photo browsing app system design
- Photo management architecture
- System design: photo album
- Design an app for managing photos and albums