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
- GitHub: Report issues & view source
- Docs: https://www.dedicatedcode.com/projects/reitti/latest/
- RSS: Stay updated via the releases feed.
- IRC:
#reittionlibera.chat - Support: Buy me a coffee on Ko-fi
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
The immich service connection.with writeback is awesome!
My kids have some dinky little digital cameras with no GPS or WiFi or anything, just writes photos locally to microsd, so obviously no location data. I use my phone, sure, but when traveling I’ll use my DSLR that also has no GPS (OK it does have WiFi, but I don’t use it).
Which turns into me tagging every time we get back from somewhere.
Going to give that immich link a try!
I wonder if you could pair your phone with your DSLR so that you have access to GPS location tagging.
You can, but you need their app.
That isn’t something I’m going to do, so I tag manually instead.
Ahh ok…well, there you go. Fresh out Don Curbstickle. Maybe next time.
That’s exactly the use case someone reported recently.
Right now, you can press a button on an individual image in Reitti if it’s aligned by time rather than location. And if you’ve got multiple images and you’re feeling brave (in other words, you trust Reitti 😄), there’s also a button to do it all at once from the gallery in the map bubbles.
Give it a try, and let me know how it goes! If anything needs tweaking, I’m happy to adjust it. Happy to hear feedback either way!
Well, perfect use case for the test immich instance!
I’ve got a few day trips recently that will make for good tests for over the weekend.
You can use a gps logging app (I use gps logger on android) to create gps tracks and sync them with your photos via the timestamp. Digikam has a tool for that built in, not sure what other software supports it.
This way I don’t have to manually tag every photo but instead only those where the gps failed because I was underground or where I forgot to turn it on
Looks really cool. I’ve been using own tracks with Nextcloud, but it’s not very reliable, especially with my wife’s iPhone. Unfortunately for me, Reitti hasn’t been packaged for Yunohost yet, but I will keep an eye on it!
Hello and thank you. I have no idea how an app gets onto Yunohost. But I have now seen that you can nominate an app to be packaged, and someone put Reitti in it. Wishlist Reitti, but it seems they have some restrictions on who can vote for it.
Maybe there is another way to get it on, like a generic Docker thing. If that is a way, I am more than happy to assist.
Currently using dawarich and kind of unhappy with the transportation detection. So I am partly interested in switching.
How would you compare reitti with dawarich?
Hello! If you ask me personally. I am happy with how reitti is working today. It suits my own movement patterns well enough, but everyone is different, so your mileage may certainly vary. I am improving it step by step though, so it should keep getting better over time.
On a general comparison with dawarich: I honestly do not know enough about it anymore to give you a fair assessment. I know they have a comparison on their website, but as with all of these, it is not completely correct. That is simply the nature of such comparisons, and it is also why I will not make one myself. After all, I would be hopelessly biased.
So here is my suggestion: if you have Docker and some gpx files handy (you can export them straight from dawarich), spin up an instance with docker-compose and throw the gpx files at it. See how it goes and whether it fits your needs. If it does not, no worries at all, just shut it down and never think about it again. Or maybe come back and give some feedback. 🙂
Your last suggestion was essentially my plan (compared the featureset of both a bit after posting the question) :)
The cons from the dawarich-dev were not of essence for me and your implementation looks very nice.Maybe you can answer it:
I use GPSLogger to track my movement.
How well does Reitti work with it? Any direct experience from you or the community?I personally mainly use GPSLogger on my phone. I had one problem with it but this is remedied in V136 of it and now it can use the HTTP File Upload which brings the battery usage down a lot. So in my experience this works really well. There is also an autoconfig button. You can open the Integrations Settings page on your phone and press the button. This will configure GPSLogger so you do not have to enter the address and the auth token by hand.
I would check the settings afterwards. I have set mine to not report anything with more than 25m accuracy. And upload the data once an hour.
Thanks man <3
Have a good one!
This tempted me to try it. But I couldn’t get it to work in my homelab where outbound traffic is completely blocked. Any chance we can get a completely offline version of this?
Oh, in theory Reitti could function in such an environment. You would need your own tile server to display the map and maybe your own reverse geocoder. Then you can create your own map style (get an existing one and replace the source tile URLs) and point Reitti that way to your hosted services. It will be a lot of work and, depending on your needs, will need a lot of space.
For map tiles, I host an instance of https://openfreemap.org/ And for reverse geocoding, there is Photon or my own, Paikka.
If you want to follow up, let me know in a GitHub discussion. I could sketch out a way to do it, and maybe someone else could also use that information then.




