About StepTracker
StepTracker is a private step journal that runs in your browser. It is built around a few rules: every number has a source; a day without a record is missing, not zero; two devices are never added together; corrections keep the original; and nothing leaves your device unless you export it.
What a website cannot do
- Count steps in the background or with the screen locked. The experimental counter works only while the page is open and visible.
- Read Apple Health, Health Connect or fitness accounts directly. Export a file from those apps and import it here.
- Send reminders while the site is closed. Calendar export covers planning.
If dependable all-day automatic counting is essential, a native app is the right tool; StepTracker does not pretend otherwise. It is not a medical device and makes no health, fitness or weight claims.
Versions
Data schema 1. Motion estimator peak-v0.3-experimental (experimental, validated only on synthetic signals). Sample import files on the Import page are small synthetic examples written for this site (October 2026).
Feature status
IDs refer to the StepTracker product specification (30 October 2026). Classes: L = local, B = depends on browser capability. Not-done items are not shown as working anywhere in the app.
| ID | Status | Capability | Notes |
|---|---|---|---|
| STEP-001 | Done | Local profile/preferences | Name, units, home zone, day policy; goal optional; age/location never asked; body mass only for opt-in energy estimate. |
| STEP-002 | Done | Manual daily entries | Source label, date, note, tags; re-entry and corrections add revisions; withdraw and revert. |
| STEP-003 | Done | Session entries | Start/end with recorded time zone; kept separate from daily totals. |
| STEP-004 | Done | CSV/JSON import mapping | Column mapping, explicit date format, zone for naive timestamps, scope (daily/session/hourly buckets), row validation with reasons. |
| STEP-005 | Done | Duplicate/overlap resolution | Provenance-based duplicates, conflicts, in-file repeats, cross-source overlaps previewed; never summed. |
| STEP-006 | Done | Daily/weekly/monthly dashboard | Missing ≠ zero, estimated/corrected marked by pattern and text. |
| STEP-007 | Done | Goals and progress | User-set per-weekday targets with history. |
| STEP-008 | Done | Streak/calendar | Declared streak rule and day policy; can be disabled. |
| STEP-009 | Done | Walking-session planner | Minutes/steps/distance from user pace and step length. |
| STEP-010 | Done | Stride calibration | Measured distance/count, context, history, sensitivity note. |
| STEP-011 | Done | Distance estimates | Always labelled as estimated; imported GPS distance kept separately. |
| STEP-012 | Done | Data export/backup | JSON backup (selected profiles), daily-view CSV, all-records CSV with revisions. |
| STEP-013 | Done | Privacy controls | Delete stored import files / history / profile / everything separately; private mode. |
| STEP-014 | Done | Accessible progress views | Every chart has a table; patterns + text, not colour only. Manual screen-reader audit not yet done. |
| STEP-015 | Done | Notes/milestones | Local notes, tags, milestones; no social features. |
| STEP-016 | Done | Foreground motion capability check | Secure context, API, iOS permission, 2 s event-rate probe. |
| STEP-017 | Partial | Experimental step estimator | Peak/rhythm estimator tested on synthetic signals only. No validated device/placement profile exists: labelled EXPERIMENTAL, unvalidated. |
| STEP-018 | Done | Start/pause/resume/stop | Observation intervals recorded; no extrapolation. |
| STEP-019 | Done | Background/visibility handling | Auto-pause on hidden page and on sensor gaps; explicit resume with gap notice. |
| STEP-020 | Done | Screen wake lock | Optional, feature-detected, re-requested on resume. |
| STEP-021 | Done | Session correction | Reason required; original estimate retained. |
| STEP-022 | Partial | Cadence/pacing | Steps per observed minute after ≥1 observed minute; gaps flagged. No live cadence chart. |
| STEP-023 | Not done | Optional foreground route | Roadmap. No geolocation is requested anywhere. |
| STEP-024 | Not done | Route privacy/redaction | Roadmap (depends on STEP-023). |
| STEP-025 | Done | Multi-source merge policy | Source hierarchy; daily total covers day; overlapping sessions by priority. |
| STEP-026 | Done | Trend comparison | Previous-period comparison with coverage and source-mix caveats. |
| STEP-027 | Done | Plan/calendar export | .ics draft; no notification claim. |
| STEP-028 | Not done | Local challenges | Roadmap; personal goals cover the basic need. |
| STEP-029 | Done | Optional energy estimate | Off by default; formula, inputs and ±30% allowance shown. |
| STEP-030 | Not done | Local activity classifier | R3 roadmap. |
| STEP-031 | Not done | Advanced import adapters | R3 roadmap; generic CSV/JSON only. |
| STEP-032 | Excluded | Continuous native pedometer parity | Impossible in a browser. |
| STEP-033 | Excluded | Certified health/fitness outcomes | Not inferred from counts. |
| STEP-101 | Done | Coverage-aware averages | |
| STEP-102 | Done | Flexible goal schedules | Weekday/rest days, dated history, optional gradual series. |
| STEP-103 | Done | Manual session timer | performance.now based; hidden-page spans marked; wall/monotonic discrepancy shown. |
| STEP-104 | Done | Import source priority editor | Reorder with live overlap table. |
| STEP-105 | Done | Daily boundary migration | Preview of moved sessions and changed day totals before applying. |
| STEP-106 | Not done | Walk comparison | Session-to-session comparison not built; period comparison exists. |
| STEP-107 | Done | Accessibility-friendly achievement mode | Neutral wording, reduce motion, streaks off. |
| STEP-108 | Done | Local notes and context tags | |
| STEP-109 | Done | Data quality review | Implausible counts, fast sessions, multi-source days, long gaps; suggestions only. |
| STEP-110 | Partial | Sensor calibration diagnostics | 10 s event-rate/gap check and placement tips; no raw-signal retention. |
| STEP-111 | Partial | Progress report templates | CSV exports include source/coverage columns; no printable chart report. |
| STEP-112 | Partial | Portable profile merge | Backup merge by record ID (no last-write-wins); no field-level conflict UI. |
| STEP-113 | Not done | Route simplification | Roadmap. |
| STEP-114 | Partial | Battery-conscious session settings | Wake lock is opt-in; no waveform/map to disable. |
| STEP-115 | Partial | Estimate uncertainty display | No validated error data exists, so every estimate carries an “unvalidated” limitation instead of a confidence figure. |