[–] [S] 4 points 1 week ago (1 child)

For my personal data, I use GPSLogger; it is fine and does what it is supposed to do. I never look at it, so I do not need any fancy features, and the main selling point for me is that it also saves the GPS data on my phone so that, in case of an error, I can still pull it and import it. OwnTracks also works fine; if you have multiple users, one benefit could be that Reitti can send the location of your other users back to OwnTracks so you can see their locations directly in the app. Finally, if you want more features, there is also Colota, which is the most modern of them all.

  • source
  • parent
  • context
  • [–] [S] 6 points 1 week ago

    Thank you for your kind words. Let me know what you think after the upgrade.

    I love seeing these updates, Daniel!

    That counts as a vote for the upgrade notification system. :) Right now, I’m trying to reduce the number of posts about reitti across all social platforms for different reasons, and the notification system would help get the word out about new versions.

  • source
  • parent
  • context
  •  

    Hey everyone, Daniel here.

    For those unfamiliar, Reitti is an open-source, privacy-focused, self-hosted location tracker and Google Timeline alternative. It ingests data from open clients like OwnTracks or GPSLogger, geotags your Immich photos, and keeps your travel history completely under your own control.

    Over the past few weeks, several updates have landed. The main addition is something I would have done way earlier, but never found the time for: a completely reworked Statistics page. These updates also include a new fitness integration, major visit detection improvements, and substantial security hardening, thanks to a lot of PRs and security advisories I received over the last month.

    Here is an overview of what is new.


    The New Statistics Page

    The statistics section used to be just a handful of simple charts. It has been rebuilt into a movement and lifestyle report that you can view across months, years, or your entire history:

    • Key Figures: Distance totals, percentage of weekday time spent at home, places visited (including how many were new), nights away from home, and your Eddington number for distance.
    • Weekday vs. Weekend Habits: A side-by-side comparison showing how routines change between workdays and weekends (daily distances, typical departure/return times, stop counts).
    • Movement Radar: A radar chart showing visited locations organized by direction and distance relative to home.
    • Day Classification Calendar: Days are automatically categorized (Commute, Wander, Travel, Home, or Untracked), with low-data days faded out so they do not distort your overall metrics.
    • Routines and Transport Breakdown: Recurring locations, stay durations, and trip breakdowns (time, distance, count, average speed) across transport modes.

    I was also able to reuse several components from the new statistics page to improve the visuals and usefulness of the aggregated timeline view when looking at more than two weeks of data at once. You can now click directly on a day row inside the chart to inspect it, and your top places for that period are also selectable.


    Intervals.icu / Garmin Integration

    If you track activities like running, cycling, or hiking with a Garmin watch, you no longer have to export and upload FIT files manually.

    Reitti now supports background syncing via Intervals.icu:

    Garmin Watch -> Garmin Connect -> Intervals.icu -> Reitti

    Once configured with an API key, Reitti runs an initial historical import and continues syncing new activities automatically in the background. (Note: Due to Strava's API terms, activities originating strictly from Strava cannot be forwarded via this bridge).


    Smarter Visit & Transport Detection

    The data processing pipeline received several core improvements:

    • Speed-Based Visit Detection: Instead of relying on rigid time and distance guards when dealing with sparse points (like battery-saver modes in OwnTracks), Reitti now derives stationary visits based on speed between points. This makes detection significantly more accurate.
    • Better Transition Handling: Detection logic handles intermediate edge cases much more gracefully, preventing anomalous slowdowns during fast travel (like temporary traffic slowdowns) from misclassifying trips.

    A Note on Security and Hardening

    Security has been a major focus recently. In one release alone, an external contributor submitted 16 security-related PRs addressing various areas across the codebase. Alongside those, several reported advisories were resolved, including issues around share-link scoping, file uploads, and map style handling.

    Most of these issues boil down to scenarios where client-side code could be executed in the context of another user if triggered. Because of that, the baseline assumption remains: you should trust the users on your instance.

    If your instance is exposed to the internet, upgrading to the latest version is always a good idea. I will continue doing my best to fix these types of vulnerabilities as they are found, provided the fixes do not get in the way of usability.


    Other Notes

    Arch Linux / AUR: Huge thanks to hashworks for packaging Reitti for Arch Linux! It is available directly in the AUR at aur.archlinux.org/packages/reitti. This one really made my day after I found it.


    What’s Next: Notifications (Looking for Community Input!)

    For upcoming releases, I want to introduce a notification mechanism.

    Some potential use cases:

    • System events: Version upgrade alerts, background job updates (e.g., successful or failed imports).
    • Memory triggers: Automatic detection when you stay overnight away from home, paired with a gentle nudge to turn that trip into a Memory.
    • Workflow triggers: Alerts for geofence crossings of users (if I ever implement geofences) or when a device did not report for x hours.

    Right now, I am looking at built-in in-app notifications and third-party services like ntfy.sh.

    What other notification channels do you rely on in your self-hosted stack (Gotify, Webhooks, Apprise, Telegram, email)? And what kind of events or lifestyle nudges would actually be useful to you without feeling like spam?


    Links & Community

    Feedback, questions, and ideas are always welcome!

    — Daniel


    AI Project Disclosure

    • Implementation (Assisted): I use AI to write repetitive boilerplate code that is tedious to write manually. The majority of the codebase is written directly by me, and all generated code is reviewed and tested by me.
    • Testing (Pair): Approximately an even split between human-authored tests and AI-assisted generation for test scenarios and edge cases.
    • Documentation (Assisted): I use AI as an editing tool to help refine phrasing, documentation, and release notes into clean English. All content, technical decisions, and structure are mine.
    [–] [S] 2 points 1 month ago (1 child)

    Reitti should work with a couple of different tracking setups. The latest release improves the handling of apps that track only when movement is detected.

    If you tell me your setup and the settings of the app, I could try to help you make it work.

    Thank you 🙏

  • source
  • parent
  • context
  • [–] [S] 1 point 1 month ago (1 child)

    Hi Estebiu, i am sorry for the trouble. Lets try to find out what the problem is. The tile-cache is a simple nginx container. I never experienced any problem with it.

    • From which version did you upgrade?
    • Any mounted directories for the tile-cache?
  • source
  • parent
  • context
  •  

    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

    [–] 7 points 2 months ago (6 children)

    I would try to use GPSLogger, it is capable of sending data to dawarich and is really reliable. AFAIK, the Owntracks app has a queue and normally sends the data back when it is online, but I also found that this is sometimes not the case, and there is no way of restoring it then. GPSLogger has the advantage that it stores the GPX file also on your phone; if something goes wrong, you can still grab that and upload it.

    Colota also seems like an awesome alternative. I've only heard good things about it.

  • source
  • [–] [S] 2 points 2 months ago (1 child)

    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.

  • source
  • parent
  • context
  • [–] [S] 2 points 2 months ago (1 child)

    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.

  • source
  • parent
  • context
  • [–] [S] 3 points 2 months ago (3 children)

    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. 🙂

  • source
  • parent
  • context
  • [–] [S] 2 points 2 months ago* (last edited 2 months ago)

    Yeah, understanding the data beneath the point would help alot. The problem with that is that we first can not query some system for every point. And second, since the raw data is already jumping around alot, even if we could it is still way off.

    Commute tracking could be a way for the statistics. They need to improve a lot.

    For the logic to detect valid points, we basically do that already for the visit detection. I am quite happy with it right now. Maybe the second year of reitti will be focused on the trips. 😀

    Google did something like the confidence thing in their old timeline (Records.json) format. There for every path they had stored the confidence of the transportation mode.

    And finally the mobile app. I doubt it will come the next year but we never know. I would have some ideas like tracking bumps (smoother rides are propably a car or train, elevation above x meters is propably a plane and so on) and such things to have more confidence in the trip detection. Right now, there is an app for everyone available which can report into reitti. So there is no pressure. But I don't know, I also did not thought about writing my own reverse geocoder but that also came out of a necessity to have some smaller hosting on a small vps.

  • source
  • parent
  • context
  •  

    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

     

    "Reitti" (Finnish for "route" or "path") is a self-hosted, personal location tracking and analysis platform. It is designed from the ground up with a privacy-first philosophy: all your data remains under your absolute control, stored exclusively on your own infrastructure. You own the database, you own your history, and you own your memories.

    I am proud to announce that reitti v5.0.0 is officially live. This release marks a major milestone, evolving the platform into a comprehensive, customizable personal location diary.

    I have packed this release with highly-requested features designed to give you full control over your data:

    • Custom Map Styles: Break free from standard map defaults. Upload your own styles, use hosted vector JSONs, or configure your own raster templates.

    • The Workbench: You can now aggregate data from multiple devices under a single account. Use the Workbench to stitch your timelines together and manually edit or clean up individual coordinate points.

    • Contextual Diary: Enrich your trips and visits with custom tags, moods, and Markdown notes to turn your location history into a living diary.

    Global Accessibility

    A massive thank you to our community of translators. Thanks to their hard work, reitti is now more accessible than ever, with support added for Portuguese, Chinese (Traditional), and Korean.

    A Commitment to Sustainability

    Starting with v5.0.0, reitti is transitioning to the AGPL-3.0 license.

    Open-source sustainability matters. As the project grows, I want to permanently protect the hard work of our contributors and keep reitti open for the community. The AGPL-3.0 ensures that any improvements made to reitti must be shared back with the community under the same open-source terms. To keep our contributor power strong, no Contributor License Agreement (CLA) is required; the intellectual property remains entirely with the individuals who authored the code, keeping the project truly community-owned.

    Development Transparency

    I use AI as a development tool to accelerate certain aspects of the coding process, but all code is carefully reviewed, tested, and intentionally designed. AI helps with boilerplate generation and problem-solving, but the underlying architecture, logic, and quality standards remain entirely human-driven.

    Getting Started

    To simplify your deployment, I’ve taken inspiration from the excellent release practices of the Immich project. You will now find the docker-compose.yml file attached directly to the GitHub release notes to help you get up and running quickly.

    Important: This is a major release with deep structural adjustments. Please read the v5.0 Upgrade Guide before deploying, as a database migration is required.

    Community & Support

    I am dedicated to keeping this project community-first. Everyone is encouraged to spread the word about this release on any platform they have access to.

    Thank you all for being part of this journey. Happy tracking!

    — Daniel

    Full Changelog: https://github.com/dedicatedcode/reitti/compare/v4.0.5...v5.0.0

     

    Hey everyone, I’m Daniel.

    It's been 103 days since I last posted about Reitti, and what a journey it's been! What started as a personal project on June 5, 2025, has grown immensely. In that time, Reitti has seen exactly 52 releases, culminating last week in the biggest and most ambitious update yet: Reitti 4.0! Today, I want to recap everything that's happened since my last post.

    The past few months have been dedicated to transforming how I interact with my movement data, and the community's support has been incredible:

    • 1,979 Stars on GitHub.
    • 467 Commits to main with 419 PRs merged.
    • 374 Issues closed.
    • 25 Contributors on GitHub.
    • 13 Languages supported.

    What is Reitti?

    "Reitti" is Finnish for "route" or "path." It’s a personal location tracking and analysis application. It is fully local and private, and no data ever leaves your server. You own the database, and you own the memories.

    Reitti 4.0: A New Map Experience

    This release focuses on taking your map experience to the next level. I've completely rebuilt the map from the ground up, switching to a foundation powered by MapLibre GL JS and deck.gl. This enables a new level of visualization for your movements, even with millions of data points from years of tracking, it remains blazingly fast and responsive!

    • Rewind & Replay Your Journeys: You can now watch your past movements unfold. This allows you to see how you moved through a specific day or trip.
    • New Map Layers: I've added new map layers that enhance your data visualization:
      • Terrain Layer: See the elevation changes along your paths. This adds a new dimension to your movement data.
      • Globe Projection: Zoom out and view your entire journey across a 3D globe.
      • Satellite View: Get a real-world perspective with high-resolution satellite imagery.
      • 3D Buildings: In supported areas, watch your paths weave through 3D building models.
    • The Aggregate View: This feature helps understand your routine. The new aggregate view condenses all your movement data into a 24-hour window, allowing you to visualize your typical movements. Ever wondered where you usually are at 8 PM, or what your most common morning commute looks like?
    • Fast Performance for Years of Data: Displaying multiple years of movement data used to be a challenge. Not anymore! Reitti 4.0 has been heavily optimized to handle vast amounts of historical data without breaking a sweat, ensuring a smooth and responsive experience even for the most avid trackers. The timeline will also see improvements in an upcoming release, as simply displaying all trips and visits for a given time range doesn't always yield meaningful information.
    • Flexible Path Visualizations: Now you can choose between:
      • Raw Paths: See every single point as recorded.
      • Default Paths: My improved, cleaned-up path rendering.
      • Edge Bundling: A new option that reduces visual clutter by bundling nearby paths together, making trends and frequent routes easier to spot.

    Other New Functionality

    Expanded Language Support

    Thanks to the incredible dedication of the community translators, Reitti has expanded its global reach and now officially supports more languages, including:

    • ¡Hola! Spanish!
    • こんにちは (Konnichiwa)! Japanese! (special thanks to @GunseiKPaseri!)
    • Привіт (Pryvit)! Ukrainian!
    • Merhaba! Turkish!

    These additions are a huge step towards making Reitti accessible to even more users worldwide.

    Place Editing with Geocoding

    When editing a place, you can now directly request geocoding suggestions and select the most accurate result from various available providers. This makes managing your locations much more intuitive and precise.

    Faster & More Robust Visit and Trip Detection

    I've completely overhauled the algorithms for detecting visits and trips. The new system is not only significantly faster but also much more robust, leading to more accurate and reliable insights into your time spent and journeys taken.

    New Dedicated Open-Source Services!

    As part of this update, I'm introducing two new, free-to-use services that power Reitti 4.0 and are available for everyone:

    • My Own Reverse Geocoder (Paikka): I've developed my very own reverse geocoder, free for everyone to use at https://geo.dedicatedcode.com/. You can find its source on GitHub (Paikka). This provides fast, reliable reverse geocoding directly from my infrastructure.
    • My Own Tile Server: To complement the new map experience, I've also launched my own tile server at https://tiles.dedicatedcode.com/, based on the fantastic OpenFreeMap data. This ensures consistent, high-performance map tiles for all Reitti users.

    BREAKING CHANGES – Please Read Carefully

    While Reitti 4.0 added new features, there are a couple of crucial changes you need to be aware of for a smooth upgrade:

    • rabbitmq has been fully removed. This simplifies the stack and reduces dependencies.
    • photon has been removed from the default docker-compose file. While it's still supported if you wish to use it, it's no longer a default component thanks to my new open-source geocoding service!

    It is absolutely essential that you update your docker-compose file during the upgrade process. Please visit https://www.dedicatedcode.com/projects/reitti/4.0/upgrade/ for the necessary steps to get your Reitti instance running seamlessly on 4.0.

    Full v4.0.0 Release Notes: https://github.com/dedicatedcode/reitti/releases/tag/v4.0.0

    Thank You

    This project thrives because of its community. Thank you to everyone who contributed this year. To the new contributors like u/Jonsen94, u/GunseiKPaseri, u/sieren, u/wjansenw, u/subha0319, and u/per_terra your code, ideas, and dedication are invaluable. Special thanks go to the translators who ensure Reitti is accessible worldwide, and to everyone who posts issues, suggests features, and supports the project indirectly.

    What’s Next?

    Thanks to the incredible support from my Ko-fi supporters, I've recently acquired a dedicated GPS logger! This means I'm now setting my sights on bringing multi-device support to Reitti. Imagine this: you use your phone for day-to-day tracking, while simultaneously logging a run or ride with another device, leaving your phone at home. My goal is to seamlessly bring these timelines back together into one cohesive view. Along with this, I'll be introducing more powerful editing capabilities, such as defining "no-visit" areas and the ability to remove individual GPS points.

    For the Memories feature I explored local AI for natural-language travel diaries, it's still very much on my mind. However, I haven't yet managed to get decent results with a small, local LLM that supports multiple languages. Time will tell if this ever happens, as I only want to introduce massive new requirements when they can deliver a truly tremendous impact for all of you. If anyone has a tip, please drop me a message.

    Development Transparency

    I use AI as a development tool to accelerate certain aspects of the coding process, but all code is carefully reviewed, tested, and intentionally designed. AI helps with boilerplate generation and problem-solving, but the architecture, logic, and quality standards remain entirely human-driven.

    I appreciate your feedback and support! Here are a few ways to connect:

    • Support My Work: If you find this project useful, you can support my efforts by buying me a coffee on Ko-fi.
    • Report Issues: Encountered a bug? Open an issue on GitHub Issues.
    • Discuss on Lemmy: Join the conversation or reach out on Lemmy.
    • Connect on Reddit: Find me here u/daniel_graf
    • Join us on IRC: Chat with us live in my IRC channel #reitti on libera.chat.
    • Github: https://github.com/dedicatedcode/reitti

    I'll be in the comments to answer your questions.

     

    Hey everyone, I’m Daniel.

    On June 5, 2025, I pushed v1.0.0 of Reitti. My goal was personal: I wanted to track my movements so that I could look back a year later and easily bring back memories of where I had been and what I had done. I wanted that "Time Machine" feeling, but I didn't want to hand my entire life's history over to another entity to get it.

    Today, exactly 213 days and 46 releases later, I’m releasing v3.1.0.

    The journey from a personal hobby to a community project has been wild:

    • 1,191 Stars on GitHub.
    • 404 Commits to main with 311 PRs merged.
    • 250 Issues closed.
    • 9 Languages supported.

    What is Reitti?

    "Reitti" is Finnish for "route" or "path." It’s a personal location tracking and analysis application. It is fully local and private and no data ever leaves your server. You own the database, and you own the memories.

    The Year in Review: Major Milestones

    To reach that goal of "bringing back memories," we had to build some serious infrastructure this year:

    • The Memories Feature: This was the soul of the project this year. We moved beyond just "rows of data" to create beautiful travel logs that combine raw GPS data with images, text notes, and visit summaries.
    • Deterministic Visit Detection: I’ve rewritten the processing pipeline multiple times. Handling raw GPS data is a struggle, debugging is a nightmare when one single "bounced" coordinate out of 10,000 can break a visit logic. We moved to a unified, deterministic engine to ensure your logs are accurate and noise-free.
    • Advanced Sharing & Federation: We implemented "Magic Links" for external sharing, added sharing your data to other users and added support for cross-instance sharing, allowing you to see live locations on a single map of all your friends and family members.

    New in v3.1.0:

    • Polygon Boundaries for Places: Move beyond simple circular radiuses; define exact shapes for your significant places.
    • OwnTracks Friend Data Support: Seamlessly integrate and view data from your friends directly in your OwnTracks App.
    • Docker Secrets Support: Hardening security for your self-hosted setup.
    • Dutch Language Support: Now supporting our 9th language!

    Full v3.1.0 Release Notes: https://github.com/dedicatedcode/reitti/releases/tag/v3.1.0

    A Heartfelt Thank You

    This project isn't just me anymore. I want to say a massive thank you to everyone who contributed this year. To the 15 contributors on GitHub who touched the code, and to the countless others who:

    • Helped translate Reitti into 9 languages.
    • Filled detailed issues and bug reports.
    • Suggested features that shaped the direction of the app.
    • Supported the project indirectly by sharing it with others.

    You are the reason this project stayed healthy for 46 releases and I am looking forward what we can achieve in 2026

    What’s Next?

    I’m currently focusing on usability, mostly polishing the date selection and adding more configuration options. Long-term, I want to expand the Memories feature, possibly exploring local AI to help turn raw coordinate logs into natural-language travel diaries to make looking back even easier.

    I appreciate your feedback and support! Here are a few ways to connect:

    GitHub: https://github.com/dedicatedcode/reitti

    Documentation: https://www.dedicatedcode.com/projects/reitti/

    I'll be in the comments to answer your questions.

     

    Hey everyone! It's been a couple of months since my last update on Reitti (back on August 28, 2025), and I'm excited to share the biggest release yet: Reitti v2.0.0, which introduces the Memories feature. This is a game-changer that takes Reitti beyond just tracking and visualizing your location data, it's about creating meaningful, shareable narratives from your journeys.

    The Vision for Reitti: From Raw Data to Rich Stories

    Reitti started as a tool to collect and display GPS tracks, visits, and significant places. But raw data alone doesn't tell the full story. My vision has always been to help users transform scattered location points into something personal and memorable. Like a
    digital travel diary that captures not just where you went, but how it felt. Memories is the first major step toward that, turning your geospatial logs into narrative-driven travel logs that you can edit, share, and relive.

    What's New in v2.0.0: Memories

    Memories is a beta feature designed to bridge the gap between data and storytelling. Here's how it works:

    • Automatic Generation: Select a date range, and Reitti pulls in your tracked data, integrates photos from connected services (like Immich), and adds introductory text to get you started. Reitti builds a foundation for your story.
    • Building-Block Editor: Customize your Memory with modular blocks. Add text for reflections, highlight specific visits or trips on maps, and create image galleries. It's flexible and intuitive, letting you craft personalized narratives.
    • Sharing and Collaboration: Generate secure "magic links" for view-only access or full edit rights. Share with friends, family, or travel partners without needing accounts. It's perfect for group storytelling or archiving trips.
    • Data Integrity: Blocks are copied and unlinked from your underlying data, so edits and shares don't affect your original logs. This ensures privacy and stability.

    To enable Memories, you'll need to add a persistent volume to your docker-compose.yml for storing uploaded images (check the release notes for details).

    Enhanced Sharing: Share your Data with Friends and Family

    Building on the collaborative spirit of Memories, Reitti's sharing functionality has seen major upgrades to make your location data and stories more accessible. Whether it's sharing a Memory with loved ones or granting access to your live location, these features empower you to connect without compromising privacy:

    • Magic Links for Memories and Data: Create secure, expirable links for view-only or edit access to Memories. For broader sharing, use magic links to share your full timeline, live data, or even live data with photos, all without requiring recipients to have a Reitti
    • account.
    • User-to-User Sharing: Easily grant access to other users on your instance, with color-coded timelines for easy distinction and controls to revoke permissions anytime.
    • Cross-Instance Federation: Connect with users on other Reitti servers for shared live updates, turning Reitti into a federated network for families or groups.
    • Privacy-First Design: All sharing respects your data, links expire, access is granular, and nothing leaves your server unless you choose integrations like Immich.

    These tools make Reitti not just a personal tracker, but a platform for shared experiences, perfectly complementing the narrative power of Memories.

    Other Highlights in Recent Updates

    While Memories is the star, v2.0.0 and recent releases (like v1.9.x, v1.8.0, and earlier) bring plenty more to enhance your Reitti experience:

    • Daterange-Support: Reitti is now able to show multiple days on the map. Simply lock your date on the datepicker and select a different one to span a date range.
    • Editable Transportation Modes: Fine-tune detection for walking, cycling, driving, and new modes like motorcycle/train. Override detections manually for better accuracy.
    • UI Improvements: Mobile-friendly toggles to collapse timelines and maximize map space; improved date picker with visual cues for available dates; consistent map themes across views.
    • Performance Boosts: Smarter map loading (only visible data within bounds), authenticated OwnTracks-Recorder connections, multi-day views for reviewing longer periods, and low-memory optimizations for systems with 1GB RAM or less.
    • Sharing Enhancements: Improved magic links with privacy options (e.g., "Live Data Only + Photos"); simplified user-to-user sharing with color-coded timelines; custom theming via CSS uploads for personalized UI.
    • Integrations and Data Handling: Better Immich photo matching (including non-GPS-tagged images via timestamps); GPX import/export with date filtering; new API endpoints for automation (e.g., latest location data); support for RabbitMQ vhosts and OIDC with PKCE security.
    • Localization and Accessibility: Added Brazilian Portuguese, German, Finnish, and French translations; favicons for better tab identification; user avatars on live maps for multi-user distinction.
    • Advanced Data Tools: Configurable visit detection with presets and advanced mode; data quality dashboard for ingestion verification; geodesic map rendering for long-distance routes (e.g., flights); GPX export for backups.
    • Authentication and Federation: OpenID Connect (OIDC) support with automatic sign-ups and local login disabling; shared instances for cross-server user connections with API token auditing.
    • Miscellaneous Polish: Home location fallback when no recent data; jump-to-latest-data on app open; fullscreen mode for immersive views

    All these updates build on Reitti's foundation of self-hosted, privacy-focused location tracking. Your data stays on your server, with no external dependencies unless you choose them.

    Try It Out and Contribute

    Reitti is open-source and self-hosted.

    Grab the latest Docker image from GitHub and get started. If you're upgrading, review the breaking change for the data volume in v2.0.0.

    For full details, check the GitHub release notes or the updated docs. Feedback on Memories is crucial since it's in betareport bugs, suggest improvements, or
    share your stories!

    Future Plans

    After the memories update, I am currently gathering ideas how to improve on it and align Reitti further with my vision. Some things I have on my list:

    Enhanced Data - at the moment, we only log geopoints. This is enough to tell a story about where and when. But it lacks the emotional part, the why and how a Trip or Visit has started. How you felt during that Visit, has it been a Meeting or a gathering with your family.

    If we could, at the end of the day answer this, it would elevate the Memories feature and therefore the emotional side of Reitti a lot. We could color code stays, we could enhance the generation of Memories, ...

    Better Geocoding - we should focus on the quality of the reverse geocoding. Mainly to classify Visits. I would like to enhance the out of the box experience if possible or at least have a guide which geocoding service gives the best results. This is also tied to the Memories feature. Better data means a better narrative of your story.

    Local-AI for Memories - I am playing around with a local AI to enhance the text generation and storytelling of memories. There are some of us, which could benefit of a better, more aligned base to further personalize the Memory. At the moment, it is rather static. The main goals here would be:

    • local only
    • small footprint on Memory and CPU
    • multi language support

    I know this is a lot to ask, but one can still dream and there is no timeline on this.

    Enhanced Statistics - This is still on my list. Right now, it works but we should be able to do so much more with it. But this also depends on the data quality.

    Development Transparency

    I use AI as a development tool to accelerate certain aspects of the coding process, but all code is carefully reviewed, tested, and intentionally designed. AI helps with boilerplate generation and problem-solving, but the architecture, logic, and quality standards remain
    entirely human-driven.

    Support & Community

    Get Help:

    Support the Project: https://ko-fi.com/danielgraf

    Project Repository: https://github.com/dedicatedcode/reitti

    Documentation: https://www.dedicatedcode.com/projects/reitti/

    Thank You to our Contributors

    A huge shoutout to all the contributors who have helped make Reitti better, including those who provided feedback, reported bugs, and contributed code. Your support keeps the project thriving!

     

    After one month of development I want to present a short update on the progress of Reitti. We will start with a short introduction for the ones which do not know about it.

    What is Reitti?

    Reitti is a personal location tracking application designed to help users rediscover their movement patterns and revisit meaningful places from their past. The project focuses on transforming raw location data into accessible personal memories. As someone with aphantasia (inability to visualize memories), the Immich integration has been particularly valuable for me. Being able to see photos from specific locations and dates helps tremendously in reconstructing and remembering past experiences.

    New Features

    • custom tiles server support added
    • added "Shared Instance" integration. This allows you to display the timeline data of other users. Even on other instances of Reitti. Perfect to connect with your friends and family. This feature supersedes the "Connected Accounts" feature and replaces it.
    • we have added OIDC Support to the login. You can now connect Reitti to your Provider and benefit from having to log in only once.
    • there is now a Live-Update Mode. This refreshes the map as soon as new data arrives
    • in companion to the Live-Update Mode, we also added full-screen functionality to have Reitti displayed in all its glory.
    • every user can now select his home location in the settings. This is used when displaying a day without any data.

    Upcoming Features

    Here are some ideas I will tackle next.

    • Replay Mode - Watch your day unfold step by step with animated playback of your movements
    • Long Distance Trip Enhancement - Improved UI specifically designed for viewing cross-country travels and extended journeys
    • Multi-Day Selection - Select and analyze patterns across multiple days simultaneously
    • Enhanced Statistics - Expanded stats section with more meaningful insights and fun discoveries about your movement patterns

    Support & Community

    Get Help:

    IRC: irc.dedicatedcode.com

    GitHub Issues: Open a new ticket for bugs or feature requests

    Support the Project: https://ko-fi.com/danielgraf

    Project Repository: https://github.com/dedicatedcode/reitti

    Documentation: https://www.dedicatedcode.com/projects/reitti/overview/

    I'd love to hear what you think.

    Final words

    I want to thank two new contributors since the last release for their effort on expanding and improving Reitti for everybody. Thanks a lot Elyviere and Terrance! 🙏

     

    After an intensive week of development, I'm proud to present Reitti v1.1.0 with a big list of improvements!

    ✨ What's New in This Update:
    ✓ Family & Friends Tracking: Now see multiple users on the same map - perfect for keeping tabs on your whole family or group adventures!
    ✓ Faster Processing: Experience significantly faster data crunching after importing new location data
    ✓ Redesigned Settings: Completely overhauled UI makes customization simpler and more intuitive
    ✓ Imperial Unit Support: Added miles and feet for our friends in the US and elsewhere
    ✓ Enhanced Maps: New color mode to personalize your viewing experience
    ✓ Google Timeline Import 2.0: Now supports legacy formats plus both iOS and Android variants
    ✓ OwnTracks Integration: Direct connection to your existing OwnTracks Recorder
    ✓ Docker Optimization: New arm64 images for efficient deployment

    🔍 New to Reitti?
    Reitti is your ultimate privacy-focused location companion that:
    📍 Builds smart maps of your travels
    📊 Uncovers your movement patterns
    🔐 Keeps all data securely on YOUR device
    💙 Stays 100% free and open-source

    🚦 Ready to Upgrade?
    📲 Get the Latest Version
    ☕ Support Development on Ko-fi

    Huge thanks to this amazing community for your suggestions and feedback!

     

    Hey everyone!

    I'm excited to introduce Reitti, a location tracking and analysis application designed to help you gain insights about your movement patterns and significant places—all while keeping your data private on your own server.

    Core Capabilities:

    • Visit Tracking: Automatically recognizes and categorizes the places where you spend time, using customizable detection algorithms
    • Trip Analysis: Analyzes your movements between locations to understand how you travel whether by walking, cycling, or driving
    • Interactive Timeline: Visualizes all your past activities on an interactive timeline with map and list views that show visit duration, transport method, and distance traveled

    Photo Integration:

    • Connect your self-hosted Immich photo server to seamlessly display photos taken at specific locations right within Reitti's timeline. The interactive photo viewer lets you browse galleries for each place.

    Data Import Options:

    • Multiple Formats Supported: Reitti can import existing location data from GPX, GeoJSON, and Google Takeout (JSON) backups
    • (Near) Real-time Updates: Automatically receive location info via mobile apps like OwnTracks, GPSLogger or our REST API

    Customization:

    • Multi-geocoding Services: Configurable options to convert coordinates to human-readable addresses using providers like Nominatim
    • User Profiles: Customize individual display names, password management, and API token security under your own control

    Self-hosting:

    • Reitti is designed to be deployed on your own infrastructure using Docker containers. We provide configuration templates to set up linked services like PostgreSQL, RabbitMQ and Redis that keep all your location data private.

    Reitti is still early in development but has already developed extensive capabilities. I'd love to hear your feedback and answer any questions to tailor Reitti to meet the community's needs.

    Hope this sparks some interest!

    Daniel

    view more: next ›