# Proximity alerts near your saved places: how On the road mode works

> With the trip started, Kokai follows your position and checks by itself, without asking the system for anything, whether you’ve entered the radius of a place with an alert: 100 m for a restaurant, 400 m for a station. It ignores inaccurate positions, doesn’t repeat an alert within 45 minutes and records your route on the device. When you stop the trip, it stops using your location.

- Address: https://kokai.app/en/en-ruta/
- Reviewed on: 2026-09-17
- Language: en

## In a nutshell

- **When it uses your location:** Only between «Iniciar el viaje» (“Start the trip”) and «Parar el viaje» (“Stop the trip”). Otherwise, only when you ask to centre the map on you.
- **Default radius:** From 100 m (food, leisure, practical) to 400 m (transport). You can change it for each place from 75 to 1,000 m.
- **Accuracy required:** The GPS accuracy must be 50 m or better, or 1.5 times the radius, whichever is larger.
- **When you count as having left:** Once you’re more than 1.3 times the radius away, after subtracting the GPS error.
- **Repeats:** The same place won’t alert you again until 45 minutes have passed.
- **Visited:** Optional: after 8 minutes inside its radius, the place is marked as visited.
- **Route:** Stored on the device and not sent to any server. Points with an error of more than 80 m are discarded.
- **Where it works:** In the browser, with the tab in front. On iPhone and Android, also with the screen off (on the way to the app stores).

## What On the road mode is

A trip in Kokai has two halves: what you prepare beforehand (the [map](https://kokai.app/en/mapa/), the [plan](https://kokai.app/en/plan/), the [documents](https://kokai.app/en/documentos/)) and what happens while you travel. **On the road** mode («En ruta» in the app) is that second half, and you switch it on and off by hand, with a button.

While it’s on, it does three things: it alerts you when you pass near places that have an alert, it records the line of where you go, and it shows you, on a single screen, what’s near you, what’s on today’s plan and where you’re sleeping tonight.

It’s designed for a very specific situation: you’re walking around a city with your phone in your pocket and you don’t want to walk right past the pastry shop you saved two months ago without noticing.

> While a trip is on the road, the orange «En ruta» (“On the road”) pill is visible from every screen in the app. There’s no way for it to stay on without you knowing.

## Each place’s alert radius

Every place on the map can have an alert. On its card, you turn it on with «Avisarme al pasar cerca» (“Alert me when I pass nearby”), choose «A qué distancia» (“How far away”) and, if you like, «Qué quieres que te diga» (“What you want it to tell you”), for example “Order the cheesecake”. When you create a place, the radius is suggested based on its category:

| Category | Default radius | Why |
| --- | --- | --- |
| Food | 100 m | You can see a restaurant from the pavement: any further and the alert arrives when you no longer know which way it is. |
| Leisure | 100 m | Same as food: it’s usually on a specific street. |
| Practical | 100 m | A pharmacy or a cash machine only matters if it’s just around the corner. |
| Accommodation | 150 m | It gives you time to get the booking out before you reach the door. |
| Sights | 150 m | A monument takes up more space, and its entrance isn’t always where the point falls. |
| Nature | 300 m | A park or a viewpoint is large, and you often reach it along a path. |
| Transport | 400 m | You look for a station from a distance, and it’s better to know before you pass it. |

You adjust the radius on the card from 75 to 1,000 m, in steps of 25. It won’t go below 75 m: with the usual error of a GPS in a city, there would be more wrong alerts than right ones.

## How it avoids false GPS alerts

A phone’s GPS doesn’t give a point: it gives a point and a margin of error, which in a narrow street between buildings can exceed 50 m. If the app trusted every position, it would alert you about places you haven’t passed. That’s why it applies three rules, the same on every platform:

- **1. Minimum accuracy to enter:** Being inside the radius isn’t enough: that position’s error has to be 50 m or less, or 1.5 times the radius, whichever is larger. With a 100 m radius, errors of up to 150 m are accepted; with a 400 m one, up to 600 m.
- **2. Leave further out than you enter:** To count as having left, the distance minus the error (at most, the radius) has to exceed 1.3 times the radius. This is hysteresis: without it, walking right along the edge would set the alert off again and again.
- **3. 45-minute cooldown:** A place that has already alerted you won’t do so again until 45 minutes have passed, even if you leave and come back in. The cooldown is saved and survives closing the app.

### Example: Belém Tower, with its 150 m radius

1. You’re walking along the riverside and the GPS puts you 140 m from the Tower with an error of 30 m. You’re inside the radius (140 ≤ 150) and the error is acceptable (30 ≤ 225, which is 1.5 × 150): **the alert goes off**.
2. You walk away. At 200 m, with an error of 20 m, the sum is 200 − 20 = 180 m, which doesn’t exceed the 195 m exit distance (1.3 × 150): it still counts as inside.
3. At 230 m, with the same error: 230 − 20 = 210 m, more than 195. **You’ve left**.
4. Half an hour later you walk past again: you’re inside, but 45 minutes haven’t passed since the last alert, so **it doesn’t bother you again**.

The distance is calculated with the haversine formula on a spherical Earth with a 6,371 km radius, which for distances from metres to a few kilometres has an error far below that of the GPS itself.

## Marking what you visit as visited

When you start the trip you can turn on «Marcar como visitados los sitios donde me quede» (“Mark places where I stay as visited”). With that, when you spend **8 minutes in a row** inside a place’s radius, it’s marked as visited. It counts once per entry: leaving and coming back starts the count again.

It means that, when you get back, the trip’s map shows what you actually did and not what you had planned, without having to tap each place.

## The recorded route

While the trip is on the road, Kokai saves the line of where you go and draws it on the trip’s map. It isn’t a second-by-second log: it’s filtered so it takes up little space and has no jumps.

- It asks the system for a new position each time you move about **15 m**.
- Any point with an error of more than **80 m** is discarded.
- A point is only saved if it’s more than 12 m from the previous one (or more, if the error is larger, up to 40 m): that way, sitting still at a café terrace doesn’t fill the route with points.
- Points are written in blocks every 20 points or every 30 seconds, whichever comes first.
- Each point stores the longitude, latitude, time and error in metres. Nothing else.

The route **doesn’t leave the device**: it isn’t uploaded to the copy in your account, doesn’t go to the AI and isn’t exported with the trip. You delete it from the On the road screen with «Borrar el recorrido» (“Delete the route”).

## Why the app decides the alerts, not the system

iOS and Android have their own geofences: the app tells the system “let me know when I enter here” and forgets about it. Kokai doesn’t use them, for three reasons found in each platform’s documentation:

|  | System geofences | What Kokai does |
| --- | --- | --- |
| How many places | iOS monitors at most 20 regions per app. | Every place with an alert in the trip, with no limit. |
| When it alerts | Android can take several minutes to report an entry, longer with the screen off. | It checks each position as soon as it arrives. |
| What permission it needs | “Always” location on iOS and `ACCESS_BACKGROUND_LOCATION` on Android, with a declaration and a video on Google Play. | Location while using the app, with the trip started. On Android, a foreground service with its visible notification. |

The flip side: Kokai only alerts you with the trip started. If you don’t start it, there are no alerts. That’s on purpose: a travel app has no reason to know where you are on an ordinary Tuesday in your own city.

## In the browser, on iPhone and on Android

| Platform | Alerts and route | Status |
| --- | --- | --- |
| Browser (today) | Only with the Kokai tab in front and the screen on: browsers stop giving a background tab its position. | Now |
| iPhone | Also with the screen locked, using the location background mode and “while using” permission. | Soon |
| Android | Also with the screen locked, using a foreground service and its notification, without background location permission. | Soon |
| Mac and Windows | It doesn’t make sense: the computer is for planning. | Later |

On your phone, when you start the trip you can choose «Seguir con la app cerrada» (“Keep going with the app closed”, «Sigue aunque bloquees el teléfono», “Keeps going even if you lock your phone”) or turn it off, and then it only works with the app on screen.

> Before publishing in the stores, On the road mode will be tested for an hour with the screen off on mid-range phones, measuring battery, recorded points and alerts. Until then, no battery consumption figures are given.

## Battery

What drains a phone most while travelling is the screen being on and the radio searching for signal, not the app. Even so, following your position has a cost, and that’s why Kokai limits it:

- It only follows your position with the trip started. When you stop it, that’s it.
- It does no calculations on a server: distances are worked out on the phone, offline.
- It doesn’t ask for a new position if you haven’t moved about 15 m.
- It writes to storage in blocks, not point by point.

A tip that applies to any map app: stop the trip when you get back to the hotel. There’s nothing to alert you about inside your room.

## Offline

Alerts, the route and the list of what’s near you **don’t need data**: GPS doesn’t use the internet, and places and their radii are already on the device. What does need a network is the background map, which shows up blank offline (offline maps by area are on the way).

The address of tonight’s accommodation, with its phone number and booking reference, can also be seen offline on the On the road screen, in large type to show a taxi driver. More in [Accommodation](https://kokai.app/en/alojamiento/#en-ruta).

## Check it yourself

1. Open a trip and, on the map, tap a place to see its card.
2. Turn on «Avisarme al pasar cerca» (“Alert me when I pass nearby”) and look at the radius it suggests for its category (for example, 400 m for a station).
3. Go to the «En ruta» (“On the road”) tab and tap «Iniciar el viaje» (“Start the trip”). Read the «Antes de empezar» (“Before you start”) dialog: it says what is done with your location and when it stops being used.
4. With the trip started, the «En ruta» pill is visible in the bar from every screen.
5. Walk towards the place with the screen on: when you enter the radius the alert arrives, and it’s listed under «Avisos» (“Alerts”) with the distance at which it went off.
6. Go back to the trip’s map: the line of your route is drawn. Tap «Parar el viaje» (“Stop the trip”) so it stops using your location.

## Frequently asked questions

### Does it alert me about all my places or only some?

Only the ones with the alert turned on in their card, with no limit on how many. The rest are still in the «Cerca de ti» (“Near you”) list on the On the road screen, sorted by distance.

### Why didn’t it alert me?

The usual causes, in order: the trip wasn’t started; the place has no alert; in the browser, the tab wasn’t in front; the GPS error was larger than that radius allows (it happens in narrow streets or indoors); or it had already alerted you in the last 45 minutes.

### Does anyone else know where I am?

No. Your position and route stay on your device: they aren’t sent to the Kokai server or to the AI, and they aren’t included in the copy of your trips. The map service receives the tiles for the area you’re looking at, like any map, but not your position. Full details in [Your data](https://kokai.app/en/tus-datos/).

### Can I have two trips on the road at once?

No. If you start a trip while another is on the road, the app warns you («Hay otro viaje en ruta. Iniciar este lo parará.», “Another trip is on the road. Starting this one will stop it.”) and stops the previous one.

### What if I close the app without stopping it?

When you open it again, the trip is still started and On the road mode resumes by itself. On your phone, if you chose to keep going with the app closed, it won’t have stopped.

## Sources and references

- [Monitoring the user’s proximity to geographic regions (20-region limit)](https://developer.apple.com/documentation/corelocation/monitoring-the-user-s-proximity-to-geographic-regions) — Apple Developer
- [Create and monitor geofences (geofence latency)](https://developer.android.com/develop/sensors-and-location/location/geofencing) — Android Developers
- [Foreground service types: location](https://developer.android.com/develop/background-work/services/fgs/service-types) — Android Developers
- [Understanding location in the background permissions](https://support.google.com/googleplay/android-developer/answer/9799150?hl=en) — Play Console Help
- [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) — MDN Web Docs
- [Haversine formula](https://en.wikipedia.org/wiki/Haversine_formula) — Wikipedia

