Hi there,
recently there has been a post here about Colota and thought you might be interested in a short summary about Colota.
I am tracking my position since several years now mainly with Owntracks (and now Colota) and a simple postgres DB/table.
I am a fan of the indieweb and eat what you cook and with already some million location points collected I recognized some pattern in existing GPS trackers I wasn't happy about:
- Battery consumption
- Duplicate points while staying in the same location for a long time
So I decided to build my own GPS tracker and called it Custom Location Tracker.

Improved battery consumption should come from disabling GPS entirely in so called "geofences" which are basically circles you draw on a map in the app. With GPS disabled in these you also won't get duplicate points while staying at e.g. home or work.
The app is still quite new (actively developed since early 2026) but has already quite a lot of features which basically all came from user feedback. E.g.:
- Automatic Tracking profiles which apply different tracking settings while e.g. being connected to Android Auto, moving slower than 6km/h or while the phone is currently charging.
- The app works fully offline (map will not be visible then) but you can predownload map tiles from a tile server I selfhost or use your own tile server.
- You can define how locations are synced to your backend. E.g. only for a specific Wi-Fi SSID every 15min, once a day or with every location update.
Overall the app's focus should move to be a mobile location history app. So basically Google Timeline in a mobile app which also supports selfhosted backends (as backup).
The app is fully open-source AGPL-3.0, has no ads, analytics or telemetry and only sends data to your own server (if you want to).
You can download two versions.
- Google Play store which uses Fused Location Provider and therefore uses Google APIs. Also works with the sandboxed version by GrapheneOS and microG.
- FOSS version which uses Android's native GPS provider with a network location fallback. Available on IzzyOnDroid and hopefully someday on F-droid.
Both can be also downloaded directly from the repo.
Could OSM tiles be used? Ie direct the app to an OSM server and download their data?
I've no idea how tiles work, so this may be an absurd question 🙂
I'm currently using GPSLogger, but Home Assistant's integration for it can't handle >1 device... if I install your app on multiple devices, can Home Assistant distinguish between them? Ie does the data nclude a DeviceID of some kind?
Edit: ok, I think I've found the answer in your Home Assistant documentation
Not an absurd question at all. The app uses vector data for the map. Public OpenStreetMap server's only offer raster data which is not compatible and would need way more storage to cover the same area downloaded. Also downloading tiles from openstreetmap servers would violate their tile usage policy.
However there are alternatives e.g. https://openfreemap.org/. I actually had OpenFreemap used before for the app but it uses Cloudflare as CDN which doesn't align with the privacy policy I want to offer for the app which is the reason I setup a own server (vps) which just directly serves the tiles (https://colota.app/docs/guides/tile-server). Also if I would use a external tile server which may go offline for whatever reason there would be nothing I could do about it.
Basically you could use any tile sever which provides mbtiles but I don't know any other free options.
Yes it either works with the Colota integration which needs a custom payload attribute to distinguish different devices (e.g. "tid": "colota") or you could use also the Owntracks integration (see https://colota.app/docs/integrations/home-assistant). The API format sent from colota is completly editable.
Thanks for the background on the tiles.
Yeah, from my PoV, I'd like to use the OSM data that's already on my phone (from other OSM based apps), but I understand your point.
So, where's your VPS? In EU?
FYI: Got the app installed, followed the instructions (which refers to a Home Assistant template that doesn't exist on the app?), modified the default custom template with
tidset to an identifier and ... I appear to be at home 🙂Thank you
It's a VPS hosted by netcup in germany (https://maps.mxd.codes/)
Yes, you are right. I have to update the docs there. I removed the HA template because it basically just added the
tidwhich I think is quite easy to add manually.