TANGO·LAB
PROTOTYPE
Upper airspace · FL245–FL660 · Live prototype

Built by a controller.
For controllers.

A browser-based upper airspace simulator — and a rapid prototyping environment for the tools controllers wish they had.

Sector
TANGO / Stuttgart Upper
Replay data
703 snapshots
Exercises
9 scenarios
47.83°N → 49.35°N 8.60°E → 10.14°E MODE-S ENHANCED

Innovation rarely reaches the controller's desk.

Air traffic control systems are certified, expensive, and closed. The people with the sharpest ideas — the controllers actually working the sector — have no way to try them. There is no sandbox. There is no shared lab.

  • 01

    Trainees can't practice from home.

    When the simulator in the centre is locked, training stops. COVID made that painfully obvious — and nothing has really changed since.

  • 02

    Good ideas die in PowerPoint.

    A controller sees a better way to handle a conflict, a label, a workflow. Without a prototype, it stays a slide. Nobody gets to feel it.

  • 03

    Browser-native upper airspace doesn't exist.

    Approach-control sims are plentiful. A serious, playable upper-airspace environment in a browser — essentially zero. That's the gap.

The simulator.

Work the sector like a real controller. Upper airspace, TANGO, real replay data from 9 scenarios, real separation rules, a proper label and right-click menu.

  • Share a link, open a browser, you're on position.
  • FL245–FL660, 5 NM lateral / 1000 ft vertical separation.
  • Assume, Send, Release workflow — iCAS-aligned.
  • Route display, closed headings, CFL / XFL inputs.
  • Replay mode on real traffic snapshots.
Who it's for
Trainees VATSIM / IVAO Hobby controllers Stakeholder demos
tango-lab · simulator · exercise-02

Live replay of Exercise 02 — climbers, descenders, real trajectories. No interaction, just the sector breathing.

The lab.

A rapid prototyping environment for new controller tools. An idea becomes a working prototype in days, not quarters — and gets validated against real traffic, not a requirements document.

  • Swap in a new label, a new HMI, a new safety net in one file.
  • Replay the same scenario before and after the change.
  • Feel it in your hands — not argue about it in a meeting.
  • Every interaction is a data point for the scoring model.
The agent is the feature.
The data is the product.
— project mantra
tango-lab · priority advisor · live

Priority Advisor — TJD750 pulses on approach, the halo fades the moment a CFL is entered, and CLX227 takes over as the next attention target.

Currently in flight
SHIPPED Priority Advisor v1 Action × Time urgency scoring, halo pulse
IN BUILD Controller Input HMI Drag-vector headings, label-field clicks
NEXT Route Stability Stage 1: is next waypoint far enough away?
RESEARCH Traffic-density threshold Below N aircraft the advisor stays silent

Controller input, rebuilt.

The way controllers talk to the system hasn't really changed in twenty years. We rebuild it phase by phase, each one researched against ATC state of the art, adjacent industries, and human factors evidence — then prototyped in the lab.

Phase 1 — One gesture, one heading.

Press, drag, release. The vector you draw becomes the heading the aircraft flies — with a snap to any nearby fix and an automatic rejoin to the flight-plan route.

  • Press & hold on the aircraft → preview ring confirms the grab.
  • Drag → live readout shows HDG 270° or →GESLU on snap.
  • Release → label updates, original route stays visible, rejoin leg is drawn.
  • ALT to disable snap, right-click to cancel mid-drag.
tango-lab · hmi · drag vector

Phase 2 — Inline levels with live rate.

Click any aircraft level, the menu opens at the handoff constraint and shows the descent or climb rate you'd need to make it. Three input paths share the same logic — mouse for the dispatch desk, keyboard hotkeys for speed work, and a voice-ready architecture for what's coming next.

  • Click CFL or AFL → list opens anchored at the next constraint level.
  • Header shows → TEDGO FL240 ↓1300/min — required rate, computed live.
  • Keyboard: C  or  X  + digits + Enter. Esc cancels, ⌘Z undoes.
  • 5-second undo banner shows the callsign — no commit-on-blur, no slip risk.

Required-rate calculation in a level menu — not seen in any production ATC system today.

tango-lab · hmi · cfl/xfl inline-edit

Negative by default. Positive on tap.

Modern ATC is a dark-mode discipline — radar surveillance has run on negative polarity since the cathode-ray era for one reason: contrast against bright targets, less glare during long shifts. We default to it. But the lab keeps the legacy positive theme a single click away — for daylight benchmarking, screenshots, and the colleagues still trained on Eurocat-white.

  • Single toggle in the toolbar — preference persists per browser.
  • Map basemap, sector polygon, labels, target diamonds, vectors and leader lines all switch in one frame.
  • Status hue stays semantic in both modes (planned · assumed · sent · unconcerned).
  • Color system researched against ΔE2000 / APCA / CVD — Cyan↔Orange axis, deuteranope-robust.

Negative is the working mode. Positive is the comparison shot.

tango-lab · hmi · display polarity

Transparent by default.

No black boxes. Here's what runs today, what's pending, and what we genuinely don't know yet.

Data

  • OpenSky Network OAuth2, live positions
  • AirLabs route enrichment
  • 703 snapshot replay 2s frame cadence
  • Mode S EHS (planned) selected altitude as clearance proxy

Engine

  • Node.js + Express proxy, caching, OAuth refresh
  • Vanilla JS frontend no framework, no build step
  • Google Maps today — MapLibre on the roadmap
  • Custom ATC label overlay drag, status colours, leader lines

Open questions

  • Alert hierarchy STCA / APW / MSAW override vs. advisor
  • Pulse intensity human factors sweet spot
  • Density threshold when does the advisor help vs. add noise
  • Input modality mix drag-vector vs. label-field click vs. command bar

Working the sector? Let's talk.

If you're a controller with an idea worth prototyping — or a trainee who wants an upper-airspace sandbox — reach out. No newsletter, no tracking, no sales pitch.

Status Active prototype · invites by request
Built with 25 years on position · a lot of coffee