
For years, the go-to frontend system design questions were “design a news feed”, “design an e-commerce site”, and “design a photo carousel”. Those are still around. But I’ve noticed “design ChatGPT” or “design an AI chat interface” quickly joining that list.
It makes sense. It’s a product everyone has used, it touches streaming, state management, performance, and accessibility, and there are a lot of ways to give a shallow answer.
Here’s how I’d walk through it in a 45-minute round. I’ll follow the same structure I recommend in my frontend system design interview guide.
How I’d spend the 45 minutes
| Time | Section | Goal |
|---|---|---|
| ~5 min | Requirements | Agree on scope before drawing anything |
| ~10 min | Architecture | Components, state, data flow |
| ~8 min | Data model + API | What the client stores, what it asks for |
| ~15 min | Deep dives | Streaming, long lists, edge cases |
| ~7 min | Performance, accessibility, wrap-up | Show breadth and trade-offs |
Interviewers almost always want to go deep somewhere. Leave room for it. The worst thing you can do is spend 25 minutes on requirements and boxes.
1. Requirements
I’d start by saying what I think the core is and asking the interviewer to confirm:
Functional
- Send a message and see the... premium content.
