How it works
RTOTA is the cloud companion to the FT8AF Trip Mode feature. The app records your route and contacts on the road; this service ingests, dedupes, maps, and shares them.
Register your rover
The app registers your callsign once and receives an API key. That key authorizes every upload and live update. You can also paste it into the upload page to submit an ADIF by hand.
Stream live while you drive
With signal, the app posts batches of GPS points and QSOs to POST /api/trips/<id>/live. In a dead zone it just queues them and re-sends when the phone gets internet back — the endpoint is idempotent, so replaying a batch never double-counts.
Upload the ADIF after the trip
Live data is best-effort; the end-of-trip ADIF is the source of truth. Upload it once and RTOTA merges it with whatever streamed in. A stable dedupe key — callsign + band + mode + minute — means the overlap is skipped and only genuinely new contacts are added.
Multi-day trips, one map
A trip can span days. Contacts are grouped day by day, while totals — miles, states visited, longest QSO, miles per QSO — roll up across the entire journey and plot on a single interactive map.
API quick reference
| POST | /api/operators | Register a callsign, get an API key |
| POST | /api/trips | Create a trip (auth) |
| POST | /api/trips/:id/live | Append points + QSOs, idempotent (auth) |
| POST | /api/upload | Upload an ADIF, deduped (auth) |
| POST | /api/trips/:id/complete | Finalize a trip (auth) |
| GET | /api/trips | List trips |
| GET | /api/trips/:id | Trip detail (route + QSOs) |
| GET | /api/leaderboard | Rover rankings |