> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Offline and syncing

> How the mobile app works without signal and syncs when you're back online

## Working offline and syncing

Capturing never waits on the network. Photos and videos, chat messages, photo edits, and checklist answers queue on your phone and sync on their own when a connection returns. A few actions need a live connection — this page lists which, and what to check if something looks stuck.

### 1. What works offline

| Action                                                              | Offline behavior                                                                                                                                                        |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Photos and videos                                                   | Save to the phone instantly, queue on-device, upload automatically several at a time (faster on Wi-Fi). Usable immediately: tag, mark up, edit details while they wait. |
| Chat messages to the AI                                             | Saved and **sent automatically when you're back online**; your copy shows in the conversation. Failed sends retry a few times before asking you to retry.               |
| Photo edits — descriptions, tags, markup, deletes                   | Queued and synced on reconnect                                                                                                                                          |
| Checklist check-offs, answers, skips                                | Saved and replayed in order on reconnect; step photos attach once they upload                                                                                           |
| Browsing projects, conversations, albums you've opened              | Served from the on-device cache                                                                                                                                         |
| **Creating a new project**                                          | Needs a connection — "You're offline"                                                                                                                                   |
| **Opening a project's chat for the first time**                     | Needs a connection — "Connect to the internet to start this project's chat"                                                                                             |
| **Sending file attachments in chat**                                | Needs a connection                                                                                                                                                      |
| **Starting a checklist**                                            | Needs a connection — the picker's button and **Not started** rows go inactive. A running checklist works offline from then on.                                          |
| **Sharing a checklist report link**                                 | Needs a connection                                                                                                                                                      |
| **Uploading PDF documents** (project page **Upload** sheet or chat) | Needs a connection — "Reconnect to upload documents." No queue, unlike photos.                                                                                          |

See [Running a checklist](/features/running-a-checklist) for the checklist flow.

### 2. How uploads behave

Uploads run in the background, and one already in flight keeps going if you lock the phone. Losing signal mid-upload doesn't fail the photo — it goes back in the queue and retries on reconnect. A photo shows **Upload failed** only after repeated failures *on* a working connection. AI scanning starts once a photo reaches the server, so **Scanning** badges resolve after the upload, not at the shutter.

### 3. No duplicates

Every capture carries a stable identity through the pipeline, so retries are safe: a photo that uploads twice on a flaky connection lands on the project **once**. The same goes for retried messages and edits.

### 4. Knowing your connection state

* A **"No internet connection"** banner appears at the top of the screen while you're offline.
* A **"Back online"** toast confirms the moment connectivity returns — queued photos, messages, edits, and checklist answers are on their way.

There's no sync button. If you're online, syncing is already happening.

### 5. If photos seem stuck

If the web app is missing photos you took hours ago:

1. **Open the app and leave it in the foreground.** The queue starts new uploads while the app is running — after a long stretch backgrounded or a phone restart, opening the app kicks it off again.
2. **Check the connection.** No banner means you're online; try Wi-Fi if cellular is weak.
3. **Stay signed in.** Uploads run under your account — don't sign out with photos pending.
4. **Look for "Upload failed" badges** in the album and retry those photos.
5. **Check your phone's free storage.** Queued photos live on the device until they upload; a full phone can stop new captures from saving.

### 6. Troubleshooting common issues

* **Photos show "Scanning" for a long time.** They haven't finished uploading — scanning starts server-side. Follow the list above.
* **A photo shows "Upload failed."** Retry it from the album; if one photo keeps failing, save it to your device as a backup and contact support.
* **I sent messages offline and they're out of order.** Queued messages send in order on reconnect, but AI replies arrive after processing — give the conversation a moment.
* **I deleted a photo offline and it's back.** Deletions of uploaded photos need a connection and retry on reconnect — check again after the **"Back online"** toast.
* **"You're offline" when starting a project.** Get signal once to create it, then capture the whole site offline.

For further assistance, contact XBuild Support at [support@x.build](mailto:support@x.build).
