— Products

Why a gym app has to work with no signal.

Basements, steel racks and dead zones — gyms are where mobile signal goes to die. UltraFit360 is built offline-first so a workout never stalls waiting on the network.

4 min readUpdated 2026-06-02By Aryan Singh Pokharia, Founding Member & Lead Developer
A laptop with code, representing offline-first mobile architectureAptixLabs · 2026-05-29

Gyms are some of the worst connectivity environments a mobile app will ever run in. Concrete basements, steel equipment, crowded 5pm wifi — signal drops constantly. A fitness app that pauses to "sync…" mid-set loses the user instantly. UltraFit360 is built offline-first so the workout is always the source of truth, and the network is a background detail.

Local-first writes

Every action a user takes — logging a set, finishing a rep, completing a workout — writes to the device first and returns instantly. Firestore's offline persistence keeps a local cache that the UI reads from, so the app feels fast whether or not there is a connection. When signal returns, the queued writes flush to the server automatically and in order.

Conflict handling

Because a user might log workouts on a phone with no signal and a watch with intermittent signal, writes can arrive out of order. The studio uses last-write-wins on simple fields and server-timestamp ordering on the workout log so the timeline reconstructs correctly once both devices sync. Programme edits — which are higher-stakes — use transactions instead.

What we cache and what we don't

  • Active programme + the next few workouts — always cached locally
  • The user's recent history — cached for streak and progress views
  • Coaching audio — pre-fetched on wifi before the session, never mid-workout
  • Leaderboards and social feeds — network-only, they degrade gracefully to a placeholder

The test that proves it actually works

There is one test that settles whether an app is genuinely offline-first: put the phone in airplane mode in the middle of a workout and see if anything breaks. If a spinner appears, if a tap is lost, if the session resets — it failed. We run that test deliberately, because the gym is airplane mode whether the user chose it or not, and an app that stalls there has already lost the user before they finished their first set.

Why offline-first is a retention feature, not a tech detail

It is tempting to file connectivity under engineering trivia. It is not — it is retention. The first workout is where most fitness apps lose people, and a connectivity stall during that workout is a one-star review in the making. Building local-first is the difference between an app that feels instant everywhere and one that feels broken exactly where it is used most.

Have a project like this?

The studio is taking on a small number of partners. Tell us what you're building — we reply within a working day.

Start a conversation