System Design AI
Design brief
Product & backendIntermediate45 min suggested

Sync inspections from offline field teams

Reconcile conflicting edits and large photo uploads without losing submitted inspections.

Backend and product engineers designing software behavior.

Your approach: Use diagrams, tables or prose for customer contracts, state transitions and data ownership; include APIs only to the depth the question requests.

The problem

Design an offline-capable field-inspection service. Inspectors edit a checklist and attach photos on mobile; supervisors can correct the same inspection in the web app. Define which conflicts are safe to merge and which need a human decision.

  • 12,000 inspectors each complete up to 20 inspections/day with eight 3 MB photos per inspection.
  • Devices can remain offline for 48 hours and may have unreliable clocks.
  • After a supervisor accepts an inspection, historical signed-off content must remain auditable even if a correction is requested.

Work within these constraints

Offline support

Declare the supported offline duration, including queued writes and retained sync history.

Required target: ≥ 48 hours

Accepted record history

Corrections must not silently replace accepted evidence.

Concurrent changes

Do not silently discard conflicting checklist values based only on device timestamps.

Resumable photos

An interrupted upload must not require replaying every photo or expose another inspection’s files.

What to deliver

1

Sync protocol

Define client operations, server acknowledgements, cursors, retries and tombstone retention.

2

Conflict examples

Work through same-field edits, attachment additions and a correction after sign-off.

3

Data and access

Describe revision history, authorization and staged/resumable photo attachment.

4

Capacity and recovery

Calculate daily photo volume and an offline reconnect burst; state quotas and recovery behavior.