Skip to main content

Syncing

HyperIron keeps your data consistent between the mobile app, web app, and cloud.

How sync works

The mobile app uses a local-first architecture:

  1. All writes go to the local SQLite database first — This is why the app is fast and works offline
  2. Changes are queued for sync — Each local change is tracked with a timestamp
  3. When online, changes push to Firebase — The cloud database (Firestore) receives your updates
  4. Other devices pull changes — The web app and other mobile devices pick up the new data

This happens automatically in the background. You don't need to manually trigger a sync.

Conflict resolution

If you make changes on two devices while both are offline (rare but possible), HyperIron uses last-write-wins based on timestamps. The most recent change takes precedence.

In practice, conflicts are uncommon because you typically log workouts on one device at a time.

Sync status

The mobile app shows a sync indicator:

  • Synced — All local changes have been pushed to the cloud
  • Syncing — Changes are being uploaded
  • Offline — No connection; changes are queued locally

What syncs

Everything:

  • Programs and mesocycle settings
  • Workout logs and set data
  • Fatigue ratings
  • Exercise library (including custom exercises)
  • Equipment profiles
  • User settings and preferences

Troubleshooting

Data not appearing on another device: Check your internet connection and wait a moment. If data still doesn't appear, close and reopen the app to trigger a fresh sync.

Sync seems stuck: Force-close the mobile app and reopen it. This resets the sync connection.

Different data on web and mobile: This usually resolves within a few seconds when both devices are online. If it persists, the mobile app's local data takes precedence — try making a small change on mobile to trigger a sync push.