Overland tracks your location and sends your data to a server of your choosing. The app will save data while you're offline, and send it to the server later in batches.

Highly configurable tracking settings for optimal control. Choose between getting highly detailed track logs (and using tons of battery in the process), or tracking only significant movements allowing you to conserve battery life.

Track bike rides, runs, walks, car trips, train trips and more.


The app sends data to an HTTP endpoint. You can use an existing backend or build your own. The app works with the following servers out of the box:


Once you add a server endpoint in the settings, the app will begin sending you data. The requests it makes will look like the below, a JSON post body with a list of GeoJSON points in a "locations" key.

  "locations": [
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": {
          "latitude": 37.331800,
          "longitude": -122.030581
      "properties": {
        "timestamp": "2015-10-01T08:00:00-0700",
        "altitude": 0,
        "speed": 4,
        "horizontal_accuracy": 30,
        "vertical_accuracy": -1,
        "motion": ["driving","stationary"],
        "pauses": false,
        "activity": "other_navigation",
        "desired_accuracy": 100,
        "deferred": 1000,
        "significant_change": "disabled",
        "locations_in_payload": 1,
        "device_id": "",
        "wifi": "launchpad",
        "battery_state": "charging",
        "battery_level": 0.89

Please see the README for full details on the request and other aspects of the API.

Source Code

This app is open source! You can download the source code on GitHub.

Who Made This?

This app was developed by Aaron Parecki.

If you've found this app useful, you can buy Aaron a beer!