Skip to content

Design a web app that works offline (frontend)

Design a web app that works offline: people keep reading and editing with no connection, and their changes reach the server when it comes back.

System designFrontend and full stackStorage, files and linksSeniorStaff

What to work through

Work through a web app that works offline as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Open the app and read what was there with no connection
  • Create and edit items offline, each change kept on the device at once
  • Send changes made offline to the server when the connection returns, in the order they were made
  • Settle changes when two devices edited the same item
  • Show the person whether they are offline and which changes are not sent yet

Constraints to discuss

  • A tap answers within 200 milliseconds, online or not
  • No change made offline is lost or applied twice
  • The app never blocks the screen while it waits for the network
  • Kept data survives restarts, within what the browser lets the site keep
  • The connection state is shown in words, not by colour alone
Need a starting point?

Watch for these common gaps as you prepare:

  • Keeping waiting edits in memory, so closing the tab loses them
  • Trusting the online flag to say the internet works
  • Retrying a change with no id, so it is applied twice
  • Assuming the browser keeps saved data forever
  • Blocking the screen with a spinner while the network is down
Read: Frontend system design interview questions, and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

Your next question

AI systemsDesign a ChatGPT-style chat (frontend)Search and autocompleteDesign an autocomplete search box (frontend)CollaborationDesign a calendar (frontend)Messaging and notificationsDesign a chat app (frontend)
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practice next.