TaxiToLearn · ProjectMilestone 4 · In Progress

The control tower
on your desktop.

ATC simulator with AI-driven virtual pilots. No cloud costs. Built to democratize aviation training on consumer hardware.

How It Works

Any airport. Any callsign.

Load any ICAO airport and start controlling. Each AI agent acts as an independent pilot — listening to your instructions, reasoning over them, and transmitting a readback through synthesised voice in real time. Three standard positions cover the full flight cycle, from engine startup to takeoff and from landing to stand.

DEL

Clearance DeliveryFlight plan clearance.

Example phraseology

CTLR “Iberia 3142, cleared to Palma via LARPA6Q, runway 24L, initial climb 10,000 feet, QNH 1018, squawk 2512.”

IB3142 · AI — Agent generated response “Cleared to Palma via LARPA6Q, runway 24L, initial climb 10,000 feet, QNH 1018, squawk 2512, Iberia 3142.”

GND

Ground ControlTaxi management.

Example phraseology

CTLR “Iberia 3142, taxi to holding point runway 25L via taxiways Alpha, Bravo.”

IB3142 · AI — Agent generated response “Taxi to holding point runway 25L via Alpha, Bravo, Iberia 3142.”

TWR

Tower ControlTakeoff and landing authorization, and separation in the traffic circuit.

Example phraseology

CTLR “Iberia 3142, wind 260 degrees, 12 knots, runway 25L, cleared for takeoff.”

IB3142 · AI — Agent generated response “Cleared for takeoff runway 25L, Iberia 3142.”

AIrport Ground Control Interface

Why AIrport

Practice without consequence.

Offline · Local AI

Run the full ATC stack on your own machine with local LLMs (Ollama). No internet, no accounts — fully private and free on consumer hardware.

Online · Cloud Run

Rather skip local GPUs? Offload the AI pilots and speech pipeline to Google Cloud Run services. Same ICAO phraseology, scaled in the cloud.

No Subscriptions

Local mode is free and offline; cloud mode is optional and pay-as-you-go. Either way — no subscriptions, no lock-in.

Watch aircraft move across the airport in real time — taxiing, lining up, and taking off — all driven by X-Plane 12 integration responding directly to your ATC instructions.

LEST airport in X-Plane 12
LEST airport in X-Plane 12

Tech Stack

Engineering, component by component.

Each piece chosen for a concrete reason: local performance, minimal latency, and zero cloud dependencies.

Core LLM

Ollama

Local LLM inference without cloud, without quotas.

Orchestration

Google ADK

Agent Development Kit for building virtual pilots with memory and persistent state.

Speech Input

Whisper

Offline speech recognition. The controller speaks — Whisper transcribes in real time.

Speech Output

Local TTS

Voice synthesis with aeronautical normalization: numbers, callsigns, and ICAO phraseology.

Infrastructure

Docker

Isolated microservices. Each subsystem is an independent, restartable container.

Real Time

Redis

Message bus and shared state between microservices. Sub-millisecond latency on local hardware.

Persistence

PostgreSQL

Storage for flights, traffic, and simulation sessions for post-analysis.

Simulator

X-Plane 12

Direct integration via XPPython3 for aircraft spawning at the simulated airport.

Timeline

From idea to demo.

Real project progress, no marketing.

  1. M1CompletedDONE

    Microservices architecture & persistence

    Docker infrastructure, PostgreSQL schema, Redis event bus, and first HMI prototype with electronic flight strips (EFS).

  2. M2CompletedDONE

    Aircraft spawning in X-Plane

    XPPython3 integration for spawning aircraft at any ICAO airport within X-Plane 12.

  3. M3CompletedDONE

    Agents configuration & sim deployment

    Google ADK orchestration of virtual pilots with memory and full voice pipeline (Whisper → LLM → TTS) deployed in the simulation.

  4. M4In Progressyou are hereACTIVE

    X-Plane aircraft movement

    Aircraft responding in real time to controller instructions — taxi routing, lineup, takeoff clearance, and landing sequences.

  5. M52026PENDING

    Session reporting & public demo

    Post-session analysis, performance metrics, and public demo at LEBL (Barcelona-El Prat). Open release of the project.