Downloads 85k

Pulse Tracker

Cross-platform health companion with offline sync, push reminders, and native biometrics.

Type
Mobile
Status
Live
Role
Mobile Engineer
Duration
2023-09 → 2024-12

Overview

A mobile vessel requires a native shell, UI layer, data sync, push comms, offline cache, and store bridge — each tuned for reliable daily use on iOS and Android.

Key metrics

Downloads

85k

Rating

4.7

Crash-free

99.4%

App size

42MB

Engineering highlight

ChallengeRef: SYNC-018

Offline queue duplicate entries on reconnect

Fixed duplicate daily logs by adding idempotent upload keys and debounced sync on network restore.

Links

Timeline

Each bar marks a documented milestone or decision.

More notes

MilestoneRef: ADR-009

HealthKit background delivery integration

Shipped passive step and heart-rate import on iOS with user-granted permissions and fallback manual entry.

Featured module

Native Shell

Expo-managed native shell with OTA updates, deep links, and platform-specific navigation.

Summary

Cross-platform health companion with offline sync, push reminders, and native biometrics.

Architecture

  • Native ShellFeatured

    Expo-managed native shell with OTA updates, deep links, and platform-specific navigation.

    ExpoReact NativeReact Navigation
  • UI Layer

    Accessible component library with dark mode, haptics, and adaptive layouts for phone and tablet.

    React NativeReanimatedTailwind RN
  • Data Sync

    Background sync with conflict resolution between local SQLite and cloud Firestore.

    SQLiteFirestoreTanStack Query
  • Push / Comms

    Scheduled reminders, streak alerts, and silent sync triggers via FCM and APNs.

    FCMAPNsExpo Notifications
  • Offline Cache

    Full offline read/write for daily logs with queue-based upload on reconnect.

    SQLiteMMKVNetInfo
  • Store Bridge

    App Store and Play Store release pipeline with staged rollouts and crash reporting.

    EAS BuildTestFlightSentry

Tech stack

React NativeExpoTypeScriptSQLiteFirebaseHealthKit