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:

  1. Battery consumption
  2. 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.

  1. Google Play store which uses Fused Location Provider and therefore uses Google APIs. Also works with the sandboxed version by GrapheneOS and microG.
  2. 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.

  • Ulrich@feddit.org
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    9 hours ago

    Why a dedicated backup server instead of just backing up to a local file that can then be backed up to a service of choice?

    Also for profiles, it would make more sense to use Bluetooth to detect a vehicle or WiFi to detect when you’re home vs. Geofencing or Android Auto or speed. How can it tell when you leave the geofence if the GPS is off?

    • mxdcodes@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      9 hours ago

      Probably phrased that wrong. There is no backup server. Users can create and add one if they like.

      Colota offers out of the box file export (csv,geojson, gpx and kml) and supports hive_partitioning via variables in the endpoint (https://colota.app/docs/configuration/server-settings#url-variables).

      Colota already uses WiFi for home detection (WiFi pause in geofence zones) and Android Auto/car mode for vehicle profiles.

      How can it tell when you leave the geofence if the GPS is off?

      GPS is only turned off by being connected to a WiFi or being motionless (or both) while being in a geozone. When wifi disconnects or/and motion is recognized the GPS starts again.

      Bluetooth detection is the one thing that doesn’t exist. It could be a useful addition. I will note that. Thank you for the feedback!

      • Ulrich@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        There is no backup server. Users can create and add one if they like.

        No I understood the server is self-hosted…?

        Colota offers out of the box file export

        I see that but this should be an automatic backup process. Plus there’s no way I can see to IMPORT that data somewhere else.

        When I use an app like Fitotrack, it automatically makes a backup file periodically and then is automatically backed up to my server with Nextcloud or Syncthing. I don’t need a dedicated server for it.

        Colota already uses WiFi for home detection (WiFi pause in geofence zones)

        How can it do that when it didn’t ask me for an SSID? And what’s the point of the geofence if it doesn’t even use it anyway? I am cornfuse.

        When wifi disconnects or/and motion is recognized the GPS starts again.

        How is motion recognized without GPS?

        • mxdcodes@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          56 minutes ago

          No I understood the server is self-hosted…?

          Colota is client-only. There is no Colota server software. When you add a server endpoint in the settings, you’re pointing it at your own existing server (Dawarich, Home Assistant, Traccar or any HTTP endpoint). Colota doesn’t provide or require any server component. It just sends data where you tell it to.

          I see that but this should be an automatic backup process. Plus there’s no way I can see to IMPORT that data somewhere else. When I use an app like Fitotrack, it automatically makes a backup file periodically and then is automatically backed up to my server with Nextcloud or Syncthing. I don’t need a dedicated server for it.

          Colota actually has automatic file export (Settings > Export Data > Auto-Export) that periodically exports to a directory on your device. From there Syncthing/Nextcloud can pick it up. Import is not yet available but is planned. There is no dedicated server needed and also not offered to setup. However you can create a webhook on your own server for the app if you want to. See e.g. https://colota.app/docs/integrations/custom-backend.

          How can it do that when it didn’t ask me for an SSID? And what’s the point of the geofence if it doesn’t even use it anyway? I am cornfuse.

          WiFi pause doesn’t use a specific SSID. It detects any unmetered network (WiFi/Ethernet) while you’re inside a geofence zone. The geofence defines where the pause should happen, the WiFi connection confirms you’re settled there and is used to detect when you leave it. Without the geofence, any WiFi connection would pause tracking everywhere.

          How is motion recognized without GPS?

          Motion detection uses the device’s hardware motion sensor (if available). It’s a low-power sensor that fires when physical movement is detected.

          • Ulrich@feddit.org
            link
            fedilink
            English
            arrow-up
            1
            ·
            42 minutes ago

            When you add a server endpoint in the settings, you’re pointing it at your own existing server (Dawarich, Home Assistant, Traccar or any HTTP endpoint).

            Ok please forgive me, I’m unfamiliar with this terminology.

            Colota actually has automatic file export (Settings > Export Data > Auto-Export)

            Oh, sick, I missed that somehow, thanks.

            Sorry for the confusion on my part.

            I still don’t see a way to import data? Doesn’t do any good to back it up if I can’t import it back in?

            • mxdcodes@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              33 minutes ago

              No worries.

              I still don’t see a way to import data? Doesn’t do any good to back it up if I can’t import it back in?

              Totally true. A import feature will be added with one of the upcoming releases.