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:
- All writes go to the local SQLite database first — This is why the app is fast and works offline
- Changes are queued for sync — Each local change is tracked with a timestamp
- When online, changes push to Firebase — The cloud database (Firestore) receives your updates
- 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.