1. Android Native Engine (StepTrackerService)
Unlike generic fitness apps that rely on fragile JavaScript timers that are quickly put to sleep by the Android OS, GeniSteps runs a dedicated foreground health service configured with:
- FOREGROUND_SERVICE_TYPE_HEALTH: Declares official Android 14+ system compliance for health telemetry, ensuring the system scheduler does not throttle continuous tracking.
- Task Dismissal Resilience: Implements
android:stopWithTask="false"alongsideonTaskRemoved()fallbacks usingAlarmManager. Even if the user swipes GeniSteps out of their recent apps screen, step tracking never drops. - Reboot Persistence: A native
BootReceiverregisters with system startup broadcasts to resume stride counting the instant the smartphone powers back on. - Hardware Step Sensor (TYPE_STEP_COUNTER): Taps directly into the dedicated low-power sensor hub silicon with 60-second hardware FIFO batching. The phone's CPU remains asleep while the hardware sensor accumulates strides.
2. iOS Native Engine (CMPedometer)
On Apple devices, GeniSteps interfaces directly with Apple's M-series and A-series motion coprocessors using the native CMPedometer framework:
- Zero CPU Overhead: Apple coprocessors accumulate and analyze step strides at the silicon level, meaning GeniSteps consumes zero active CPU during background walks.
- Silicon-Derived Cadence & Pace: Extracts real-time Steps Per Minute (SPM), meters traveled, and exact pace (seconds per kilometer) directly from Apple motion coprocessors.
3. Smart Accelerometer DSP (Fallback & Zero-Latency Layer)
Hardware sensor hubs are power-efficient, but raw batched data dumps can create artificial 4-to-5 step jumps. GeniSteps solves this with a custom digital signal processing (DSP) layer:
Filters incoming raw triaxial acceleration between 0.8 Hz and 3.5 Hz, the exact biological frequency envelope of human bipedal walking.
4. Fused Motion Arbiter & SmoothStepPacer
When hardware sensor batches dump 4 or 5 steps at once, the GeniSteps SmoothStepPacerdispenses them 1-by-1 at natural biological pacing (~320ms per stride). When reopening the app after hours away, a smooth cubic ease-out animation catches up the counter smoothly from the previous display count to current ground truth.
5. Transit & Driving Mode
Riding in a bus, car, subway, or train? Simply tap the 🚗 Transit Mode toggle in the home header. GeniSteps immediately suspends step accumulation to eliminate vehicle vibration false steps, displaying an amber status badge until you return to your walk.