Local, dependency-light route viewer for dashcam TXT, GPX, and GeoJSON files.
- Date and time range filtering
- Leaflet map with start/end markers
- Route replay with inactive gaps compressed
- Cleaned, raw, and calculated speed views
- Heading, altitude, and sensor charts
- GPX and GeoJSON exports
- Incremental imports for growing dashcam TXT files
Requires Node.js 22.6+.
pnpm startOpen http://127.0.0.1:4173.
Place .txt, .gpx, .geojson, or .json files in data/input/, then run:
pnpm importUse pnpm import -- --force to rebuild the generated cache.
Cleaned speed defaults to a 130 km/h plausibility ceiling. Set MAX_SPEED_KMH when importing to change it.
See docs/formats.md for supported fields and extension guidance.
Preview screenshots and videos can be added to assets/images/ and assets/videos/.
Dashcam TXT — GPSData*.txt, $V02 records
Built and tested against a 70mai Dash Cam 4K A810 (GPSData000001.txt style logs). Any dashcam or GPS logger writing the same $V02 comma-separated line format — timestamp, fix status, lat, lon, speed, heading, plus sensor and video filename fields — should work without changes.
GPX — standard, any device or app
Not tied to a brand. Reads trkpt, rtept, and wpt points with time, elevation, speed, course/heading, and name — the same subset exported by Garmin, Strava, GaiaGPS, and most GPS units.
GeoJSON — standard, any source
Not tied to a brand. Reads Point, MultiPoint, LineString, and MultiLineString geometries (raw or inside Features/FeatureCollections), with optional timestamps, speeds, headings, and sensor/video properties if present.
Full field-level detail is in docs/formats.md. GPX and GeoJSON are open standards, so this should already work with most dashcams and GPS trackers that export either — if yours doesn't parse, open an issue with a sample.
- Open an issue describing the change you want to make and wait for it to be approved before starting work.
- Fork the repo and create a branch for that one change.
- Keep the pull request scoped to the approved feature only — smaller diffs are easier to review and merge.
- Open the PR against
main.
Licensed under GNU AGPL-3.0-only. Commercial use is allowed. Modified versions offered to users, including over a network, must keep the license notices and make corresponding source code available under the AGPL.
Built by People at The Tech Basket.
