Features

What GeoCourier does

It tracks continuously, sends each captured point to your servers, and keeps a record on your phone.

Background tracking

Tap Start Tracking and the app keeps tracking in the foreground and background until you stop it. Tracking stops if the phone restarts or the system closes the app (on iPhone, swiping it away does too); tap Start Tracking again.

Capture rules

Every N seconds, or after moving N meters; in distance mode, a point is captured anyway if you stay still too long. Save several named capture modes. Built in: Standard (every 30 sec), Precise (every 3 sec), and On the Move (every 20 m). Switch or edit them while tracking, and changes take effect immediately.

Multiple servers

Each point goes to every enabled server. Servers are sent to and counted separately, so one failing doesn't hold up the others.

Method and headers

Set POST or PUT and headers for each server, such as an Authorization token. Only https:// URLs are accepted.

Send Test

No need to go outside. Send a test payload from the server's edit screen and see the status code and response time right away.

QR code import

Scan to add a server, or pick the code from Photos. Password-protected codes are supported. You can create codes on the QR Setup page of this website.

Payload and stats

See the exact JSON that was last sent, with an explanation for every field, and copy it. Each server shows sent, succeeded, and failed counts and the success rate, plus why and when any send failed.

Route records and export

Each tracking session is saved as a record, with a route thumbnail in the list. The map shows speed in color, and a dot runs along the route when you open it, so you can see which way you went. Export as GPX, CSV, or JSONL (raw data). Records stay on your phone.

Lock Screen and notifications

On iPhone, the Dynamic Island and Lock Screen show elapsed time, point count, distance, and send results (iOS 16.2+). On Android, an ongoing notification does the same.

Keeps tracking offline

Without a connection, the app keeps tracking and saving points to the record. Points that couldn't be sent aren't resent later, but you can export them from the record.

Help in the app

The About tab has Getting Started, FAQ, Privacy at a Glance, and What's New. They're built into the app, so they work offline. When a new version is out, the app tells you when you open it.

Chinese and English

The app follows your phone's language and uses English for any language other than Traditional Chinese. Built-in capture mode names are translated too.

How It Works

From location to delivery

  1. 01

    Track

    The system keeps sending the app location updates

  2. 02

    Capture

    A point is kept only when time is up or you've moved far enough

  3. 03

    Record

    Saved to this session's route record

  4. 04

    Send

    Delivered to every enabled server

App Tabs

Four tabs

Tracking

Start and stop tracking, and see what's being sent.

  • Switch capture modes (three built in, or make your own)
  • View your location and route on a map
  • View Payload
  • View Send Stats

Records

One route record per tracking session.

  • Route map colored by speed
  • Export GPX, CSV, JSONL
  • Rename and delete

Servers

Choose where to send.

  • Add (manually or by QR code), reorder, and enable
  • URL, method, headers, and note
  • Send Test
  • Read-only while tracking, so stats stay consistent

About

Help and app information.

  • Getting Started and FAQ
  • Privacy at a Glance
  • What's New
  • Device ID (copyable)

Requirements

iOS
15 or later (iPhone and iPad). Live Activities on the Dynamic Island and Lock Screen require 16.2 or later. While Using the App is enough for background tracking; we recommend Always for the most complete experience (it lets you turn off the blue status bar indicator).
Android
8.0 or later. Allow only while using the app is enough for background tracking; we recommend Allow all the time for the most complete experience. Background tracking shows an ongoing notification, as the system requires; Android 13 or later also asks for notification permission.