Skip to main content

Offline & Sync

1nspecT mobile is built offline-first. You can run an entire inspection in a basement with no signal, on a remote new-construction site, or on a flight, and never lose data. This article explains exactly what works offline, what needs network, what the sync engine does behind the scenes, and how to handle the occasional sync hiccup. The short version: everything important works offline. Findings, captions, ratings, photos — all written to local storage immediately and synced when network returns. AI features (Generate, Vision, Library Search, Sys Info) are the only operations that require network because they call the cloud AI service.

What works offline (everything except AI)


How the sync engine works

Three components run together. You don’t start them or stop them — they initialize when you sign in and run for the life of the app.

1. EcoSync Manager — battery-optimized Firestore sync

EcoSync (also called “Lite Sync” in older release notes) is the heart of the platform’s data persistence. It’s optimized for 8 hours of inspections without a car charger — battery life is a primary product concern. EcoSync runs in one of three modes: You don’t manually switch modes — the app detects state and selects.

2. Photo Upload Queue

Photos and video have their own dedicated queue separate from the data sync. The queue:
  • Receives new photos as soon as you capture them
  • Watches for network state changes (Wi-Fi appears, cellular signal restored)
  • Uploads in parallel when network is available — multiple uploads at once when bandwidth allows
  • Retries failed uploads with exponential backoff
  • Cleans up successfully uploaded photos from the queue daily
  • Removes permanently failed photos from the queue on app startup (V18.9.1.2)
Photos are stored on the device at FileSystem.documentDirectory/deficiency_photos/ until uploaded — they survive app closures and device reboots.

3. Network Detection

A small background service watches the network state and notifies the queue and EcoSync. Three states matter:
  • Wi-Fi available — full sync activity
  • Cellular available — data syncs immediately; media uploads only if the Cellular Sync toggle is on (see Settings & Tokens)
  • Offline — everything queues locally

The Cellular Sync toggle

By default, the app only uploads photos and videos on Wi-Fi. The text data (captions, narratives, ratings, findings) syncs over any available network (cellular included) because it’s tiny. To enable photo upload over cellular:
  1. Tap the Config tab
  2. Find Sync Preferences
  3. Toggle Upload Media over Cellular to on
See Settings & Tokens → Upload Media over Cellular for the full discussion. Default is off for a reason — turning it on can use significant cellular data on photo-heavy inspections.

What you’ll see on the inspection

The sync system is mostly invisible during use. Visible indicators: You typically don’t see these states surfaced as a status banner — they’re internal. The visible signal is the photo’s “Upload pending” badge.

What happens when network is lost mid-inspection

Most common scenario: you walk into a basement and lose signal.
  1. Captures continue normally. Take photos, write narratives, set ratings.
  2. Local writes happen immediately. Every Save + New writes the finding to AsyncStorage and the local Redux store.
  3. The queue accumulates. Photos pile up in the upload queue. Findings text accumulates in the pending Firestore changes.
  4. Network detection notices the loss and switches the photo queue to standby. No retry attempts during offline.
  5. AI buttons fail with the offline alert. “⚠️ AI Offline — AI service unreachable. A template CAR narrative has been pre-filled — edit as needed.” No IT cost is deducted.
When network returns:
  1. Network detection notices and re-enables the queue.
  2. EcoSync fires a sync window within a minute or two.
  3. Pending Firestore writes flush — captions, narratives, ratings now visible on the web admin.
  4. Photo uploads resume under the queue’s Wi-Fi/cellular rules.
  5. AI buttons work again — narrative regeneration, Vision Scan, etc.
You don’t need to take any action. The transition is automatic. If you want to confirm everything synced, watch the “Upload pending” badges in the Review tab disappear.

What happens if the app is closed mid-upload

The upload queue survives app closure. When you reopen the app:
  1. The Lite Sync System re-initializes
  2. The queue checks each pending photo’s network-readiness
  3. Uploads resume from where they left off
  4. Permanently failed photos (typically corrupt files, missing references) are cleaned out
You don’t lose data by quitting the app. The local files in FileSystem.documentDirectory/deficiency_photos/ are durable.

What happens if the device is rebooted

Same as closing the app — the queue persists. On reboot:
  1. You sign in (or auto-sign-in via cached Firebase session)
  2. Lite Sync initializes
  3. Pending uploads resume
The only data that doesn’t survive a reboot: the absolute newest finding-in-progress that you hadn’t yet tapped Save + New or Save + Finish on. Tapping Save commits to durable storage; in-memory state is lost on reboot. Save frequently.
For more, see Common Issues & Troubleshooting.

Tips for low-signal inspections

  • Open the inspection before walking into the property. The first download (template + narrative library) needs network. Standing in your truck with signal, tap the inspection card so it downloads. Once inside, everything works offline.
  • Disable AI in advance if you know you’ll be offline. Don’t waste time tapping AI Generate to get the “AI Offline” alert. Plan to write narratives by hand for the basement; use AI when you re-emerge.
  • Use FREE Library chips. They work fully offline. If your library has good coverage of common findings, you can capture most of an inspection without any AI calls.
  • Save aggressively. Tap Save + New after every finding. Each save commits to durable storage — losing the app won’t lose saved findings.
  • Don’t tap Finalize until you have signal. The Finalize call writes several documents to Firestore and triggers downstream workflows. Doing it on Wi-Fi avoids any race condition.

Data integrity — what we guarantee

The platform’s design commitments around your data:

What if I want to clear local data?

If you need to fully reset the app’s local storage: Both are destructive. Local-only inspections (not yet uploaded) will be lost. Only clear local data when:
  • You’ve confirmed every inspection has uploaded (Review tab shows no “Upload pending” badges)
  • You’re swapping devices and want to start clean on the new one
  • Support specifically advises it
The cloud copy survives — signing in on the new device pulls everything back from Firestore + Google Cloud Storage.