Design a mobile video calling app like FaceTime
PremiumMobile systemHard
- WebRTC
- CallKit
- PushKit VoIP pushes
Quick answer
This mobile system interview question asks you to design a mobile video calling app like FaceTime. Aim for a design that meets its requirements at the stated scale, then explain its main components, data flow and trade-offs. Interviewers want to see how you scope the problem, size it and defend each choice.
The problem
Design a mobile video calling app like FaceTime for iOS and Android. It rings a locked phone with a full-screen call, connects one-to-one or group video in about a second, and keeps the call going when the network changes. The hard parts are waking a suspended app to ring, getting through NATs, adapting quality and end-to-end encryption.
Signaling, relays and the group media server are a given. Design the app.
What must a mobile video calling app like FaceTime do?
- Ring anywhere: An incoming call rings with the system call screen even when the app is not running or the phone is locked.
- One-to-one and group: One-to-one calls and group calls of up to 32 people.
How well must it do it?
- Private: Calls are end-to-end encrypted, including group calls through the SFU.
- Reliable ringing: Rings within 3 seconds of dialling for over 99% of reachable devices.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- WebRTC
- CallKit
- PushKit VoIP pushes
- ICE STUN TURN
- Simulcast
- Bandwidth estimation
How you’ll practise
- Requirements
- App architecture
- Data and offline sync
- Networking and push
- Performance, battery and releases
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any mobile system design round.
- Clarifies the requirements before drawing anything
- Uses a few numbers that actually change the design
- Draws a clear path from the client to storage
- Picks storage and caching with reasons, not by habit
- Explains what breaks first under load and how to fix it
- States trade-offs openly instead of claiming a perfect design
Questions people ask about this interview question
- Which design type is this question?
- It is a mobile system question. You design a mobile video calling app like FaceTime and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Hard. It suits engineers preparing for senior interviews, where you are expected to drive the discussion and go deep on trade-offs.
- What should I cover first?
- Start with the requirements: what the system must do, how well it must do it and which numbers change the design. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
Updated · Written by the SevyDevy team