4BIT DIGITAL - STUDIO 00

Apps v2.1.4

Pulse — React Native Fitness App

Workout tracking, charts and offline sync, in one Expo project.

4.7 96 reviews

620 licences sold

  • React Native
  • TypeScript
  • Expo
  • Figma

What it is

A complete fitness app: session tracking, a chart layer that survives a thousand entries, HealthKit and Google Fit adapters, and sync that behaves when the gym has no signal.

Fitness apps live in basements with no reception, which is why the interesting engineering is all in the sync layer rather than the charts.

Pulse queues every write locally and reconciles when the connection comes back, with conflict rules you can actually read. The charts are drawn on a canvas rather than in SVG, so a year of daily sessions scrolls without dropping frames on mid-range hardware.

It is an Expo project, so you can run it on a device in about four minutes from unzipping.

What makes it worth the money

  • Charts that scale Canvas-drawn, so a year of sessions still scrolls at 60fps.
  • Works with no signal Every write queues locally and reconciles on reconnect.
  • Four minutes to a device Expo project — unzip, install, scan the QR code.

A look inside

Session tracking, mid-workout, with the rest timer running.
The chart layer at a year of daily entries.
The sync queue, shown to the user rather than hidden from them.

In the download

  • Expo project with EAS build profiles
  • Offline-first sync queue with conflict rules
  • Canvas chart layer — 12 chart types
  • HealthKit and Google Fit adapters
  • Figma source for all 26 screens

Specification

Screens
26
Charts
12 types, canvas-rendered
Storage
SQLite via Drizzle
Health data
HealthKit + Google Fit adapters

Works with

  • Expo SDK 51+
  • React Native 0.74+
  • iOS 15+
  • Android 9+

Release history

  1. v2.1.4

    Expo SDK 51, plus a fix for duplicate sessions after a long offline stretch.

  2. v2.0.0

    Rewrote the chart layer on canvas. Roughly 4× faster on mid-range Android.

Who looks after it

Actively maintained · last release 2 May 2026 · 2 releases logged