You step into the subway. Five stops, 17 minutes, no signal. By the time you come up, you've answered three emails, drafted a Slack reply, and the timer should still be running on the Acme call. Most apps would have lost or paused the entry. Timesheet does not.
The mobile apps track time fully offline. Entries are written to a local database with their actual start and end times. When the device reconnects, the cloud receives the changes, the other devices pull them down, and everything lines up without you doing anything.
What Offline Actually Means
Offline-capable means three things:
- Read works without internet. Past entries, project lists, tags, rates, contracts: all available from the local database the app maintains on the device.
- Write works without internet. Starting and stopping timers, creating entries with explicit start and end times, editing, deleting, and attaching pauses or expenses all save locally and persist across app restarts.
- Conflicts resolve cleanly. When the device finally reconnects, the local changes are uploaded; cloud changes from other devices are downloaded; differences are reconciled on a per-entry basis.
The user-facing promise: the app does not block, does not lose data, and does not throw errors at you because of a missing connection.
What Lives on the Device
Each Timesheet mobile app keeps a local database (Room on Android, GRDB on iOS). It holds:
- All your projects, tags, rates, and (on Business plans) contracts
- All your time entries
- All pauses associated with those entries
- Pending changes waiting to upload
- The current state of the timer
The web app and browser extension do not have this database. They require an internet connection to work.
How Sync Actually Behaves
There are three distinct paths the data can take:
Online: write-through
When the device has a connection, each save is written locally first, then sent to the cloud within seconds. Other devices receive the change on their next sync.
Offline: write-local, queue-for-later
When the device has no connection, each save is written locally only. The app records the change as "pending upload" and queues it.
Reconnect: catch-up sync
The moment the device reconnects (Wi-Fi, cellular, or hotspot), the app:
- Uploads pending local changes in the order they were made
- Downloads any changes made on other devices since the last sync
- Merges everything into the local database
- Updates the active timer if a newer state exists in the cloud
This is usually a matter of seconds, even with a large backlog of pending entries.
Conflict Resolution: What Wins
Most apps that offer offline mode hand-wave the conflict question. Here's the actual behavior:
One Entry, Two Devices
If you edit the same entry on the phone (offline) and on the web (online), the cloud keeps the newer edit: every change carries a last-update timestamp, and an incoming write that is older than what the cloud already has is rejected. The local copy on the phone is overwritten with the cloud's final state on the next sync.
In practice, this case is rare. When it does happen, the newest edit is the one that survives, on every device.
The Active Timer
Only one timer can be running per user at a time. If the watch is running a timer and the phone independently starts a different one while disconnected, the most recent start time wins on reconnect. The earlier timer closes automatically with its last-known elapsed value.
Deletes
Deletes use a "tombstone" mechanism: a deleted entry stays in the local database with a deleted flag until the cloud confirms the delete. This prevents a delete on device A from "resurrecting" on device B that hasn't synced yet.
Where the Plans Matter
| Plan | Offline tracking | Cloud sync | Multi-device |
|---|---|---|---|
| Basic (free) | Yes | No | No |
| Plus | Yes | Yes | Yes |
| Pro | Yes | Yes | Yes |
| Business | Yes | Yes | Yes |
On the free Basic plan, the phone tracks offline, but there is no cloud and no other device to sync with. Backups are local-only (and via the manual Export Excel / CSV feature).
Plus and up adds the cloud and multi-device sync between your mobile devices, Apple Watch and iPad included. Access from the web app is a Pro feature on top.
Real Scenarios
The Subway Commute
Phone tracks an entry from 08:15 to 08:32 on "Reading · Industry News" while underground. Entry saves locally. At 08:35 the phone catches LTE again, the entry uploads in under a second.
The Flight
A six-hour flight. You start a timer on "Travel · Acme Visit" at takeoff. You also draft three new entries for last week, hand-typed on the iPad. All four entries save locally to both devices. On the ground, both devices reconnect and exchange data. Within ten seconds, the laptop's web app shows all four.
The Basement Server Room
A technician spends two hours in a server room with no cellular signal, a familiar situation in time tracking for IT professionals. The timer is started from the watch on arrival, the phone (in the locker) is offline. The watch tracks locally. On return, the phone and the watch sync directly over Bluetooth, and the phone pushes everything to the cloud once it has a connection again.
The Coffee Shop Wi-Fi Drop
You're working at a coffee shop with the timer running on your phone. The Wi-Fi drops for 90 seconds in the middle of a Pomodoro. The timer keeps running locally. The drop has no visible effect; the entry has the correct start and end times.
Battery and Storage
Offline mode is light on resources:
- Storage: the local database stays small for most users, even with years of entries; time entries are rows of text and numbers, not media
- Battery: background sync uses iOS's Background Tasks API and Android's WorkManager, both of which throttle aggressively to preserve battery
- Network: when the device reconnects, sync is a delta exchange (only what changed), not a full re-download
What Happens If the Database Gets Corrupted
Database corruption is very rare, usually a sign of low storage or a forced power-off mid-write. If it happens, the app tells you instead of silently losing data. With cloud sync (Plus and up), the fix is simple: sign out, sign back in, and the app downloads a fresh copy of your data from the cloud.
On Basic there is no cloud copy, which is exactly why regular exports and the local backup feature matter. They are your safety net on the free plan.
Common Patterns That Work Well
Trust the offline mode. The most common mistake is to delay or skip tracking because "I'll do it once I'm back online." The app handles offline; you don't need to.
Don't bounce between devices mid-entry. Stopping a timer on the watch and editing the resulting entry on the iPad while offline mostly works, but you make conflicts more likely. Pick a device for the day.
Sync proactively before long offline stretches. Right before a flight, open the app once, let it confirm "All synced." This guarantees the device starts the offline stretch with the freshest data.
Check the sync status. The account screen shows the last successful sync and how many changes are still pending upload. A quick glance before you go offline tells you whether everything is up to date.
Common Questions
How long can the phone be offline before it stops working? Indefinitely. The database is local; it doesn't expire. Some users go weeks offline; sync still catches up cleanly on reconnect.
Does the watch sync directly or through the phone? Through the phone. Apple Watch and iPhone sync directly over Bluetooth when both are nearby, and the iPhone pushes everything to the cloud when it has internet.
Are running timers lost when the app is force-closed? No. The timer state is persisted to the local database. Reopening the app picks up where it left off.
Can two devices be online with conflicting timer states? Briefly, yes, but the conflict resolution rules pick a winner within seconds. The losing timer closes with its last-known elapsed value as a finished entry.
What about the browser extension? The Plasmo browser extension is an online-only client. It reads from the cloud and writes to the cloud. There is no local database in the extension. Use the mobile apps for offline coverage.
Summary
- Mobile apps fully support offline tracking, with concrete start and end times on every entry
- Local writes queue and upload the moment the device reconnects
- Conflict resolution is per-entry: the newest edit wins, on every device
- Offline tracking is on every plan; cloud sync requires Plus
- The web app and browser extension are online-only
Where to Go Next
- Use Timesheet across all your devices with cloud sync for the full multi-device picture
- Track from your Apple Watch for the wrist-and-pocket combo
- Automate time tracking with geofence, Wi-Fi, and NFC for the triggers that work even when the data lane doesn't