Engineering case study

Distributed InfrastructureReal-Time Systems

Vezati — Offline-First Field Operations Platform

Time-To-Interactive (500MB Blueprint)

< 1.2s

Local Tile Cache

Data Loss on Network Drop

Zero

Persistent Local Queue

Concurrent Edit Resolution

Event Sourced

Deterministic Merge

Works on

Androidios

Built with

Flutter / DartIsar / SQLiteVector ClocksViewport Tile RenderingResumable Chunked Uploads

01 / The Problem & Hard Constraints

The Problem & Hard Constraints

Field engineers operating on remote oil rigs or deep underground construction sites often face hours or days with zero cellular connectivity.

  • Massive Asset Rendering: High-fidelity CAD exports or multi-layered PDF blueprints routinely exceed 500MB. Loading these into a mobile device’s RAM crashes the app.
  • Distributed Split-Brain: If two offline engineers annotate the same blueprint zone and both reconnect to the network simultaneously, standard “Last-Write-Wins” database logic will silently delete one engineer’s safety audit.
  • Unreliable Resync: When connectivity is restored (e.g., catching a faint 3G signal), uploading megabytes of queued telemetry must survive intermittent network drops without corrupting the payload.

02 / Architecture & Core Design Decisions

Architecture & Core Design Decisions

  • Tiled Image Pyramids (Deep Zoom): Instead of loading 500MB PDFs, blueprints are pre-processed on the backend into localized image tiles at multiple zoom levels (similar to Google Maps). The mobile client only loads the specific tiles currently in the viewport, capping RAM usage at ~40MB.
  • Offline-First Storage (Isar / SQLite): All reads and writes hit local device storage first. The UI never waits for a network request to resolve, resulting in instant, zero-latency interactions regardless of network conditions.
  • Resumable Chunked Uploads: Background sync tasks utilize HTTP/1.1 Range headers. If an audit upload drops at 85%, the background worker resumes uploading only the final 15% when the connection stabilizes.

03 / Deep Technical Challenges & Solutions

Deep Technical Challenges & Solutions

The Challenge: Merging Concurrent Offline Edits. Resolving data collisions when multiple disconnected nodes mutate the same state.

The Solution: Event-Sourced Operations & Vector Clocks. Instead of storing the final state of an annotation (UPDATE annotation SET text = “Fix this”), the system records immutable delta events (InsertText, MovePin). Each event is tagged with a logical Vector Clock. When clients sync to the cloud, the backend acts as a deterministic state machine, applying the event stream in order. Non-overlapping edits are seamlessly merged, and direct conflicts are flagged for manual review rather than silently overwritten.

Benchmarks

Measured against the baseline

MetricStandard Cloud-Native AppVezati Offline-First Engine
Time-To-Interactive (500MB Blueprint)12 - 45s (Bandwidth Dependent)< 1.2s (Local Tile Cache)
Data Loss on Network DropHigh (Failed HTTP POSTs)Zero (Persistent Local Queue)
Concurrent Edit ResolutionLast-Write-Wins (Data Destruction)Event Sourced (Deterministic Merge)
Active Memory Footprint (Rendering)OOM Crash (> 1GB)~45 MB (Viewport Only)