# Design a browser sync service: system design interview question

> Concurrent edits across offline devices, deletion safety, history expiry, and device tab visibility.

Source: https://sysround.com/questions/design-browser-sync-service
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service that keeps bookmarks, browser history, settings, and open tabs in sync across a user's devices. Devices can remain offline for long periods."

## What to clarify first

- Scale
- Read and write mix
- Data size
- Retention and device contact
- Offline devices
- Latency
- Consistency and availability
- Durability
- Data and conflict rules
- Security and exclusions

## Scope of a strong answer

Core requirements:

- Sync bookmarks, history, settings, and device-owned tabs.
- Resolve concurrent edits with clear rules.
- Resume sync after long offline periods without restoring deleted data.
- Keep unsent local edits recoverable, except history that exceeds its retention limit.

Usually out of scope:

- Password sync
- Page content and browser cache sync
- Shared accounts and shared bookmark folders
- Remote control of another device's tabs
- End-to-end encryption
- The account authentication service

## What interviewers probe

### Concurrent bookmark edits

Devices can edit different fields or change the folder tree without seeing each other. Whole-record replacement can lose valid edits.

### Devices that return after a long absence

The service cannot retain every deletion forever. An old device can mistake deleted data for new data after the service removes deletion records.

### Sync progress and retries

A device must track complete progress despite retries, partial responses, concurrent writes, and crashes. An incorrect cursor can skip changes permanently.

### History and device tabs

Visits expire by age, but bookmarks do not. Other devices must learn when unchanged tabs disappear or return.

## Common mistakes

- Replace whole collections and lose unrelated concurrent edits.
- Trust device clocks to define the order of all changes.
- Remove deletion records without a rule for old devices.
- Replay an expired outbox and restore deleted items.
- Expire history only on the server, or accept visits that already exceed 90 days.
- Keep device metadata only in snapshots, so incremental clients miss tab visibility changes.

## The bar by level

- **Senior:** Defines atomic server writes and client progress. Handles snapshots, folder cycles, history expiry, stale baselines, and unsent edits. Sends device visibility changes through incremental sync. Requires durable replication before acknowledgment.
- **Staff+:** Explains the limits of finite retention after an unlimited absence. Resolves ambiguous old requests safely. Handles device contact costs, visibility races, and notification loops. Defines failover authority, regional recovery, and refresh load controls.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=browser-synchronization


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
