Colota
Colota is a TypeScript-based application that provides android GPS location tracker.
Self-hosted GPS tracking, honestly reviewed. No marketing fluff, just what you get when you install it.
TL;DR
- What it is: A free, open-source Android app (AGPL-3.0) that logs your GPS location and sends it to a server you control — not to a cloud you rent [README].
- Who it’s for: Privacy-conscious Android users, tinkerers, and founders who run a self-hosted location stack (Home Assistant, Dawarich, Traccar) and need a reliable mobile client that doesn’t phone home [README][website].
- Cost: $0 for the app. Colota is just the mobile tracker — you bring your own backend. If you’re already running Dawarich on a $6 VPS, your marginal cost is zero [README].
- Key strength: Unusually complete feature set for a 138-star project: tracking profiles that auto-switch by charging state or speed, geofencing pause zones, offline map downloads, AES-256-GCM encrypted auth, and direct integrations for eight backend systems [README].
- Key weakness: Android-only. No iOS client. No companion web dashboard. Colota is strictly the “send data from phone” half of a tracking stack — you need a separate server to do anything useful with the data [README].
What is Colota
Colota is an Android GPS tracking client. You install it on your phone, point it at a server endpoint, and it reliably ships your coordinates there over HTTP(S). That’s the core. Everything else — the geofencing, the tracking profiles, the offline maps — is layered on top of that basic contract.
The project was built by a single developer (dietrichmax on GitHub) and sits at 138 stars as of this review [README]. It’s a young project, but the README and documentation surface are more polished than you’d expect for something at that star count. The app has a proper documentation site at https://colota.app, covers sixteen screens in its docs, and ships on both Google Play and the privacy-respecting IzzyOnDroid F-Droid repository [website][1].
What makes Colota interesting is what it doesn’t do: it has no analytics, no telemetry, and no third-party SDKs [README]. The AGPL-3.0 license means the source code is open and you can audit exactly what the app sends and where. That’s meaningful in a category where most “free” GPS apps monetize via location data sold to data brokers.
The “self-hosted” framing on the homepage describes the backend, not the app itself [website]. Colota integrates with eight server systems out of the box: Dawarich, OwnTracks, Home Assistant, Traccar, GeoPulse, PhoneTrack, Reitti, and any custom HTTP backend with configurable field mapping [README]. You pick one (or several), and Colota feeds it.
Why people choose it
Third-party reviews of Colota specifically are sparse — the project is young enough that it hasn’t accumulated much coverage. What exists places it in the “GPS & Maps” section of app directories alongside GPSLogger and OwnTracks, described as “self-hosted GPS tracking with offline support, geofencing, and native maps” with 715+ downloads at the time of listing [1]. The absence of review coverage isn’t a red flag so much as a signal about project age; the GitHub repository and documentation tell a clearer story.
The people drawn to Colota fall into a recognizable pattern. They’re already running a self-hosted location server — most commonly Dawarich or Home Assistant — and they’re frustrated with the mobile clients available. The OwnTracks Android app works but its UI is aging. GPSLogger is reliable but minimal and lacks features like tracking profiles or offline maps. Traccar’s own Android client is functional but tightly coupled to the Traccar server. Colota’s pitch is a modern Android client that works with any of those backends rather than locking you to one [README].
The second group is straightforward: people who looked at Life360, Google location sharing, or similar services and decided they don’t want their movement history on someone else’s servers. Colota gives them a path to full location sovereignty: phone → your VPS → your database, with nothing in between except TLS and the authentication method you configure [README][website].
Features
Based on the README and documentation site:
Tracking and reliability:
- Foreground service with auto-start on boot — the app survives phone restarts and stays running in the background [README]
- Exponential backoff retry for failed uploads — locations queue locally and sync when connectivity returns [README][website]
- Automatic GPS pause when stationary, configurable accuracy threshold [README]
- Geofencing: define “pause zones” (home, office) where the app stops recording automatically [README][website]
Tracking profiles:
- Multiple named GPS configurations that switch automatically based on conditions: charging state, Android Auto, vehicle speed [README]
- Each profile controls GPS polling interval, distance filter, and sync strategy [docs]
- Long-press the app icon to start/stop tracking directly, compatible with Tasker and Samsung Routines [README]
Offline capability:
- Fully functional without a server — all locations queue locally [website]
- Download map areas to the device for use without internet [README][website]
- Export your data as CSV, GeoJSON, GPX, or KML at any time [README]
Location history:
- Daily summaries and trip segmentation [README][website]
- Speed-colored tracks, elevation profiles, per-trip statistics [website]
- Calendar view with activity dots, per-trip export [README]
Sync and backend integration:
- Instant, batched, Wi-Fi only, or fully offline modes [README]
- Scheduled auto-export: daily, weekly, or monthly, to a local directory with file retention management [README]
- API field mapping with templates for each supported backend (Dawarich, OwnTracks, PhoneTrack, Reitti, Traccar, custom) [docs][website]
- Quick setup via
colota://setupdeep links or scannable QR codes [README]
Security:
- Authentication options: Basic Auth, Bearer Token, or custom headers [README]
- AES-256-GCM encryption for stored credentials [README]
Display:
- Metric and imperial units, 12h/24h time format, auto-detected from device locale [README]
- Full light and dark theme support [README]
What’s absent: there’s no companion web dashboard, no desktop app, no iOS client, and no server component. Colota is strictly the phone side.
Pricing: SaaS vs self-hosted math
Colota itself is free. No subscriptions, no premium tier, no per-device pricing [README].
The real cost question is what you pay for your location data stack overall. Here’s the comparison:
Life360 (the most common commercial alternative for family/personal tracking):
- Free: basic location sharing, 2-day location history
- Gold: $14.99/month — real-time location history, crash detection, roadside assistance
- Platinum: $24.99/month — adds driving reports and other premium features
Google location sharing / Find My: “Free” in exchange for Google holding your movement history indefinitely.
Strava (fitness/activity tracking overlap):
- Free tier exists
- Subscription: $11.99/month for route planning, segment analysis, training features
Self-hosted stack with Colota:
- Colota: $0
- Backend server (e.g., Dawarich): $0 software cost
- VPS to run Dawarich on: ~$4–6/month on Hetzner or Contabo
- Total: $4–6/month for unlimited devices, unlimited history, no one else’s hands on your data
If you’re already running a self-hosted VPS for other things (Home Assistant, Nextcloud, etc.), adding Dawarich or Traccar costs essentially nothing. The marginal cost of adding Colota to an existing homelab is $0 [README].
The honest caveat: the time cost is real. Setting up a Dawarich or Traccar backend plus configuring Colota’s API field mapping takes anywhere from 30 minutes (experienced self-hosters) to an afternoon (first-time Docker users). Life360 takes 5 minutes.
Deployment reality check
Colota’s deployment story is split: installing the Android app is trivial (Google Play or APK from GitHub Releases), but that’s only half the work [README].
What you actually need:
- An Android phone (no iOS option)
- Location permissions set to “all the time” and battery optimization disabled for Colota [README]
- A running backend: Dawarich, Traccar, OwnTracks recorder, Home Assistant, or a custom endpoint
- That backend accessible over HTTPS if you want sync away from home Wi-Fi
Backend complexity varies by choice:
- Home Assistant: If you’re already running it, the setup is minimal — Colota can post directly to HA’s device tracker API
- Dawarich: Docker Compose setup, 30–60 minutes for someone comfortable with Docker
- Traccar: Similarly Docker-based, well-documented
- Custom backend: Any server that accepts POST requests with location data works; the API field mapping screen handles translation [docs]
What can go sideways:
- Battery optimization is the top friction point for any background GPS app on Android. Aggressive battery management (common on Samsung, Xiaomi, and newer Pixel builds) will kill the foreground service. The README flags this explicitly: disable battery optimization, or tracking will be unreliable [README].
- AGPL-3.0 license means if you embed or modify Colota and distribute the result, you must release your modifications under AGPL. For personal use this is irrelevant. For anyone building a product on top of Colota, it’s a meaningful constraint compared to MIT-licensed alternatives.
- The project has one primary maintainer. This is common for 138-star projects but worth acknowledging if you’re betting your entire tracking infrastructure on it.
- No iOS support at all. If you need cross-platform tracking across an Android phone and an iPhone, Colota covers only half of it.
Data not available: community-reported install success rates, common failure modes beyond battery optimization, or typical time-to-first-track for non-technical users.
Pros and cons
Pros
- No data leaves your infrastructure. Every coordinate goes to the endpoint you configure, over TLS, authenticated with credentials you set. No analytics SDK, no telemetry endpoint, nothing phoning home to the developer [README].
- Genuinely complete feature set. Tracking profiles with auto-switching, geofencing, offline maps, scheduled exports, trip segmentation with speed-colored tracks — this is not a minimal GPS logger. The feature depth is unusual for a project at this star count [README][website].
- Eight native backend integrations. Most competing clients lock you to one backend. Colota ships API field mapping templates for Dawarich, OwnTracks, Home Assistant, Traccar, GeoPulse, PhoneTrack, Reitti, and custom endpoints [README].
- Offline-first design. Locations queue locally and sync when connectivity returns. The app works on a plane, in a tunnel, or in the mountains — it doesn’t require continuous internet [README][website].
- Available on IzzyOnDroid/F-Droid. Users who avoid Google Play can install Colota without a Google account [README][1].
- AES-256-GCM credential encryption. Your server credentials stored on the device are encrypted at rest [README].
- QR code / deep link setup. For families or teams deploying to multiple devices,
colota://setupdeep links make configuration transferable without manually entering server details [README].
Cons
- Android-only. No iOS client. If your household has mixed devices, you need a separate solution for iPhone users [README].
- No server component. Colota is purely a mobile tracker. You supply the entire backend stack — Colota doesn’t ship a server, a dashboard, or a database. This is by design, but it means the setup complexity is higher than a bundled solution [README][website].
- 138 GitHub stars. The project is young and maintained by what appears to be primarily one developer. Feature velocity and long-term maintenance trajectory are unknown compared to established alternatives like OwnTracks (decade-plus of history) or Traccar [README].
- AGPL-3.0, not MIT. The copyleft license requires derivative works and hosted modifications to be open-sourced. Fine for personal use, constraining for product embedding [README].
- No location sharing / social features. Colota only logs your location. It has no mechanism for sharing real-time location with family members or viewing other people’s positions in the app. It’s a data collection client, not a tracking dashboard [website].
- Battery optimization friction. Getting reliable background tracking on modern Android requires manually disabling battery optimization — a step that requires navigating Android’s increasingly buried power settings and that some manufacturers make difficult [README].
Who should use this / who shouldn’t
Use Colota if:
- You already run or plan to run a self-hosted location server (Dawarich, Traccar, Home Assistant) and want a modern Android client with proper tracking profiles and offline support.
- You’re paying Life360 or a similar service and are comfortable with Docker — Colota plus a free backend replaces that bill entirely.
- Privacy is a hard requirement and you want to audit exactly what the app does with your location data.
- You need reliable GPS logging for hiking, cycling, or travel where connectivity is intermittent.
Skip it if:
- You need iOS support — there is no Colota for iPhone.
- You want a complete, bundled solution — Colota is a component, not a product. If you want something you can hand to a non-technical family member with zero backend setup, look elsewhere.
- You’re a solo user without an existing self-hosted server and you just want simple location history. Strava or Google Timeline, despite their privacy trade-offs, require zero setup.
- Long-term maintenance guarantees matter to you. The project’s small size and single-maintainer structure is a risk factor.
Alternatives worth considering
OwnTracks — The established open-source standard for self-hosted location tracking. Older UI but battle-tested, has both Android and iOS clients, larger community, and the OwnTracks Recorder backend is actively maintained. If you need iOS or want the reassurance of a decade-old project, OwnTracks is the safer bet.
GPSLogger — Android-only, minimal, extremely reliable. Has been around for years. Much lighter on features than Colota (no offline maps, no tracking profiles, no trip segmentation) but has a larger install base and longer track record. Good choice if you only need the log-and-export function.
Traccar Client — Traccar’s official Android (and iOS) client tied tightly to the Traccar server. If you’re running Traccar anyway, using its own client is zero-config. Less polished than Colota but has iOS.
Overland — iOS-first GPS logger with a similar server-agnostic approach. If you need iOS plus a self-hosted backend, Overland is the go-to.
PhoneTrack (Nextcloud app) — If you’re already running Nextcloud, PhoneTrack gives you a dashboard and tracking inside your existing server. More integrated but more tightly coupled.
For an Android user with a self-hosted backend who wants the best current client experience, the realistic shortlist is Colota vs OwnTracks: pick Colota for the more modern UI, tracking profiles, and offline maps; pick OwnTracks for the longer track record and iOS support.
Bottom line
Colota does one thing — reliably get your GPS coordinates from your Android phone to a server you control — and it does it with a feature set that punches above its 138-star weight: tracking profiles, geofencing, offline maps, flexible sync, eight backend integrations, and proper authentication. The honest limitation is that it’s half of a stack. You bring the server; Colota brings the data. For self-hosters who already have a Dawarich or Traccar instance running, Colota is an obvious candidate to replace the client they’re currently tolerating. For everyone else, the setup overhead is real and the lack of iOS is a hard blocker for mixed-device households.
If you want Colota running on a fresh VPS with your choice of backend already configured, upready.dev handles that setup as a one-time deployment. You own the infrastructure from day one.
Sources
- AndroidFreeware — GPS y mapas listing (includes Colota entry with 715+ downloads, “Self-hosted GPS tracking with offline support, geofencing, and native maps”). https://www.androidfreeware.net/es/category/travel/gps-navigation-and-maps/
Primary sources: 2. GitHub repository and README — dietrichmax/colota (138 stars, AGPL-3.0 license). https://github.com/dietrichmax/colota 3. Official documentation site — Introduction | Colota. https://colota.app/docs/introduction 4. Official website — Colota. https://colota.app 5. Google Play listing — Colota. https://play.google.com/store/apps/details?id=com.Colota
Features
Integrations & APIs
- REST API
Customization & Branding
- Dark Mode
- Themes / Skins
Analytics & Reporting
- Metrics & KPIs
Security & Privacy
- Encryption
- Privacy-Focused
Mobile & Desktop
- Mobile App
- Offline Mode
Related Maps & Geolocation Tools
View all 30 →Organic Maps
13KOrganic Maps is a self-hosted privacy & encryption tool with support for privacy, android, ios.
Dawarich
8.4KDawarich gives you visualize your location history on your own infrastructure.
Open Source Routing Machine (OSRM)
7.6KReleased under BSD-2-Clause, Open Source Routing Machine (OSRM) provides high performance routing engine designed to run on OpenStreetMap data and offering...
GraphHopper
6.4KFor maps & geolocation, GraphHopper is a self-hosted solution that provides fast routing library and server using OpenStreetMap.
evcc
6.3KEvcc handles extensible Electric Vehicle Charge Controller and home energy management system as a self-hosted solution.
Nominatim
4.2KNominatim is a self-hosted maps & geolocation tool that provides server application for geocoding (address -> coordinates) and reverse geocoding...