Orbit syncs your data across devices using Supabase Realtime (Pro/Ultra only). Here's everything you need to know about how it works.
How real-time sync works
- You make a change (add a job, update a contact, etc.)
- The change saves to localStorage instantly (for speed)
- The change is pushed to Supabase in the background
- Other devices receive the change via WebSocket in real-time
- Their localStorage updates and the UI refreshes
This happens in under a second for most changes.
What syncs instantly
These sync in real-time via WebSocket:
- Jobs (add, edit, delete, status changes)
- Contacts (add, edit, delete, linking)
- Activities (new entries)
- Offers (add, edit)
- User settings (theme, preferences, dashboard order)
- Follow-up snooze/dismiss actions
- Calendar edits
- Profile image changes
What syncs on reconnect
These sync when you open the app or come back online:
- Templates
- Runway data (expenses, income)
- Wellness data (mood, journal, exercises)
- Goals and streaks
- Resume and cover letter data
The green dot
The small green dot on your profile avatar in the top nav means real-time sync is connected. If the dot is:
- Green — Connected and syncing
- Orange (pulsing) — Connecting...
- Red — Disconnected (network issue)
- No dot — Sync not active (Free tier, or session loading)
If you go offline
- Changes queue locally (up to 200 entries)
- When you reconnect, the queue flushes automatically
- A reconciliation check compares timestamps and re-pushes anything that was missed
- If your device was asleep (e.g., closed laptop overnight), it pulls fresh data when you return
If sync fails
- Failed writes are logged (up to 50 entries, kept for 30 days)
- A yellow banner appears at the top of the page
- Click "Retry" to re-push failed changes
- Go to Settings > Your Data to see sync status and retry manually
iOS and Safari
Safari suspends background tabs aggressively. When you return to Orbit:
- The WebSocket reconnects automatically
- Fresh data is pulled from Supabase (within 5 seconds)
- Any changes you made offline are flushed
Free tier
Free tier data stays in localStorage only. There is no cross-device sync. Upgrading to Pro enables real-time sync across all your devices.