Jason Lamb .ME Some stuff I think is cool and interesting, you might too!

October 14, 2026

Building a Browser Trip Tracker That Shows Its Assumptions

Filed under Technology

An ETA can look wonderfully precise even when the information behind it is not. The GPS Speed + ETA Tracker explores how to show trip progress while keeping those assumptions visible.

The app uses browser location information to display speed, heading, and distance progress. An entered remaining distance can be counted down using the GPS breadcrumb distance, and the interface includes moving time, stopped time, average speed, and other trip metrics.

The project also saves history and trip sessions through PHP. Manual or automatic snapshots can become a record of the journey, and CSV export makes the observations available outside the page. Device history uses a browser-generated identifier, with separate server-side storage for saved sessions.

GPS quality is presented as an estimate based on information the browser exposes, such as accuracy and update age. The page cannot inspect satellite counts or raw receiver signal data. Showing the age of an update is more honest than letting an old reading look current simply because the digits are large.

The ETA is also different from a routing service’s promise of traffic-aware directions. The core calculation is driven by the app’s entered distance and observed movement. Changes in stops or speed can change the result.

Later revisions focus on how the controls read on a phone: clear tracking-state labels, explicit drive-mode state, reachable map controls, and less intrusive changelog content. A button should make it clear whether tracking is active.

This project is an experiment in presenting travel observations clearly. Its most useful feature may be the context around the numbers, because understanding how fresh and how approximate a reading is helps make the whole dashboard more meaningful.

Open the hosted project · Explore the project on GitHub

Update history

These notes record article updates associated with repository changes. The original publication date is retained.

  • — Converted automated article narration to neutral third person and added public update history. No application functionality changed. GitHub source