@danielgraf@discuss.tchncs.de

member since 18 Jul 2023 01:11

posts

[AIP] Reitti update: street-level photos on your own tracks, a rebuilt date picker, and stickers for everyone

GitHub Releases · dedicatedcode/reitti
preview

Hey everyone, Daniel here!

A lot has happened since the v5.3.0 post, so let’s skip the version numbers and go straight to what’s new.

What is Reitti? “Reitti” (Finnish for “route”) is a self-hosted, privacy-first alternative to Google Timeline. It turns raw GPS points into visits, trips and a timeline of your life — stored exclusively on your own infrastructure.


First things first: a security fix

@kgaut responsibly reported a vulnerability in the setup flow: on an already-configured instance, the setup filter could be bypassed to grant admin rights. Fixed in v5.3.2, with tests added. If you’ve been skipping updates, now is a good time to catch up.

The main page, reworked

The date selection element drew its fair share of critique over the months, and honestly, the critique was fair. This release finally tackles it:

  • Pick your date picker style. In Map Settings → Date Picker Style you can now switch to a traditional picker with one or two plain input fields instead of the band.
  • Type your way through time. On the main page, just start typing a date: your locale’s format, a range like 2025 - 2026, or simply today and yesterday. A popup appears showing what Reitti understood. As a heavy keyboard user myself, this is my favorite little addition in a long time.
  • One clean bar at the top. The time scrubber is no longer a floating panel that jumps around the screen, and the action buttons moved into the same bar. The main page finally has a much calmer look.

Reitti showing the new datepicker and select-as-you-type

Street Photos: step into your own tracks

The feature I’m proudest of this month: Reitti now integrates with Panoramax, the open, community-built answer to Google Street View. Enable the Street Photos layer, click a photo sequence along your tracks, and look around at street level. Walk the route, pan around, and finally see the places your timeline only ever showed as dots.

Reitti showing its Panoramax integration

Take your timeline back

  • No-Visit Zones: draw a boundary around your bus stop or the post office queue and Reitti will never create a visit there again. Deleted visits now stay deleted (suppressed, restorable anytime) without touching your raw data.
  • Smoothed view mode: stationary GPS jitter filtered out, and a Kalman filter on the move. All render-time only; your raw coordinates stay 100% intact.
  • Custom start of day: your 2 AM walk home belongs to the evening it felt like, not to the calendar. This also keeps your Memories intact as one story.

Showing the edit interface for no-visit-zones

Smarter tracking for battery savers

Many of you run trackers like OwnTracks in significant move mode. The tradeoff: your phone reports when something happens, then goes quiet. On such sparse data, the stay detection would occasionally miss the stationary stretch and record a trip instead of a visit. The new stay-detection algorithm recognizes stationary periods in sparse data, so the visit is detected correctly, including its duration. No settings change needed on your phone.

Other updates

  • 40x faster H3 cell updates when importing into spatial coverage
  • Redis/Valkey over Unix sockets (REDIS_SOCKET)
  • Upgrades no longer break pending background jobs
  • Workbench polish: precise point selection, calmer hover-panning
  • Immich integration: album filters (show photos from one album instead of the whole library) and per-user photo sharing. Per-user photo sharing means you decide per user whether photos are included when you share your location data: tracks visible, photos private, or the other way around.

🎁 Stickers!

A little something on the fun side: I designed and ordered real Reitti stickers, and they’ve arrived. Seeing the project as something you can hold in your hand was a surprisingly good feeling. 49 sets are up for grabs, completely free: email daniel@dedicatedcode.com with subject REITTI STICKERS and your shipping address, and I’ll send one over. I ship worldwide as a standard letter, so it doesn’t matter where you live. Address is used for shipping only and deleted afterwards. Details (and photos) in the Ko-fi post.


Community & Support

As always, I’m curious how you use Reitti so feel free to share your setup and stories in the comments. ❤️


AI Disclosure

  • Implementation (Assisted): AI helps me generate boilerplate and work through specific problems, but the bulk of the code is written by me.
  • Documentation (Assisted): I use AI as a writing tool to get docs and release notes into an appropriate state. The content, structure and decisions are mine.

— Daniel

[AIP] Reitti v5.3.0: Multi-Segment Trips, Spatial Coverage & FIT File Support

preview

Hey everyone!

A lot has happened since the v5.0 announcement. Step by step, Reitti grows into something richer: it now understands journeys with multiple transportation modes, tells you how much of your world you have actually explored, geotags the photos your camera didn´t, and reads the FIT recordings from your sports watch. Yesterday’s v5.3.0 brought all of these threads together, and I want to take a moment to share this progress with the community.

For anyone new here: Reitti (Finnish for “route”) is a self-hosted, privacy-first alternative to Google Timeline. It turns raw GPS points from your devices into visits, trips and a timeline of your life, stored exclusively on your own infrastructure.

Here are the features I’m most excited about:


Multi-Segment Transportation Modes

Real journeys are rarely single-mode: you walk to the car, drive, then walk again. Reitti now understands this and models it as one trip with multiple transport segments instead of mislabeling everything as “Driving”.

  • Color-coded track lines with transition badges exactly where you switched modes (new “Display Transportation Modes” map setting)
  • Fully customizable icons & colors per transport mode under Settings > Transportation Modes
  • One click to reclassify your entire existing history, with live progress on the redesigned job status page

Spatial Coverage

Hexagons are bestagons.

The “fog of war” for your life: Reitti now calculates how much of your cities, regions, and countries you have actually explored, down to the percentage. With the historical sliders you can watch your map fill in year by year.

Heads up: this optional feature requires SPATIAL_COVERAGE=true, roughly 10 GB of additional disk space and some initial indexing time. Everything about setup and configuration is covered in the Spatial Coverage documentation.

Photo Geotagging via Immich

This one is for everyone running Immich next to Reitti: connect the two services once, and Reitti can locate photos that have no GPS data, then write the coordinates permanently back into your Immich library.

How it works: Reitti takes a photo’s capture timestamp, matches it against your recorded location history, and shows you the suggested position. Happy with what you see? One button press writes it into the photo’s metadata in Immich. Nothing happens without your confirmation.

This solves a real problem: most dedicated cameras, whether DSLR, mirrorless or action cam, simply have no GPS receiver. Until now, those photos sat forever on Immich’s “no location” pile or needed tedious manual tagging. With Reitti, the tracker you already carry does the job your camera never could. And since everything happens between your own two self-hosted services, not a single byte leaves your infrastructure.

FIT File Support

Reitti now natively imports .fit files, the standard format for cycling computers and sports watches from Garmin, Wahoo & co. No more converting your rides and runs to GPX first: drop them in and they show up in your timeline like any other recording.

More Highlights

  • Live Location Only mode users (v5.2): share your live position without building a permanent history log. Privacy-first family tracking.
  • Bulk GPX uploads for GPSLogger (v5.2): fewer connections, noticeably less battery drain.
  • Improved visit/trip detection (v5.1): better algorithms mean less manual cleanup.

Community & Support

I’m always curious how you all use Reitti, so feel free to share your setup and stories in the comments. ❤️


AI Disclosure

Per this community’s rules for project promotion posts, here is exactly how AI was used in building Reitti:

  • Implementation (Assisted): AI helps me generate boilerplate and work through specific problems, but the bulk of the code is written by me, and every change is carefully reviewed and tested before it lands in a release.
  • Documentation (Assisted): I use AI as a writing tool to get docs and release notes into an appropriate state. The content, structure and decisions are mine; AI polishes language, clarity and consistency.

Everything else, including architecture, system design, testing, review and deployment, I do by hand.

— Daniel

comments