Experience live air traffic control from your living room.
Visualize real-time flight data in a stunning 3D environment using the power of the web.
Aether turns global air traffic data into a tangible reality. Built for both desktop and VR headsets (Meta Quest etc.), it fetches live flight positions from the OpenSky Network and renders them in high-fidelity 3D. Whether you're a flight enthusiast or just love data visualization, Aether puts you in the center of the airspace.
- 🥽 WebXR Immersive Mode: Step into the map with full VR support for Meta Quest and compatible headsets.
✈️ Real-Time Tracking: Live position updates via WebSocket for butter-smooth aircraft movement.- 🌍 3D Geospatial Environment: Powered by Google Photorealistic 3D Tiles for immersive cities and landscapes, layered over Cesium World Terrain for global accuracy.
- 🎯 Interactive Inspection: "Laser point" at aircraft to reveal detailed telemetry (speed, altitude, airline, trajectory).
- 📍 Location Freedom: Teleport anywhere in the world to monitor local airspace.
- 🛩️ Plane Spotting 2.0: Identify the exact flight flying over your house in real-time AR/VR just by looking up.
- 🎓 Aviation Education: Visualize flight corridors, approach paths, and air traffic density in a tangible 3D space.
- 🧘 Immersive Relaxation: Teleport to a busy airport like Heathrow or Haneda and watch the traffic flow from a "God Mode" perspective.
Aether is built on a modern full-stack architecture tailored for low-latency visualization.
graph TD
User((User)) -->|WebXR / Browser| Client[<b>Aether Client</b><br/>React + Three.js + Cesium]
Client <-->|WebSocket| Server[<b>Aether Server</b><br/>Node.js + Express]
Client -->|REST| Server
subgraph Backend Services
Server -->|Cache| InMem[In-Memory Cache]
end
subgraph External APIs
OpenSky[OpenSky Network API]
Elevation[Open-Elevation API]
Google3D[Google Photorealistic 3D Tiles]
end
Server -->|Polling| OpenSky
Client -.->|Terrain Data| Elevation
Client -.->|Tiles| Google3D
- Frontend: React, Three.js (via React Three Fiber), CesiumJS, TailwindCSS.
- Backend: Node.js, Express, WebSocket.
- Data Sources: OpenSky Network (Flights), Open-Elevation (Terrain).
- DevOps: Docker, Docker Compose.
- Node.js v18+
- npm or pnpm
- Git
-
Clone the repository
git clone https://github.com/yourusername/Aether.git cd Aether -
Install dependencies
npm run install:all
-
Configure Environment Create a
.envfile in theserver/directory. You can copy the example:cp server/env.example server/.env
Note: For higher rate limits, add your OpenSky credentials to
.env. -
Launch Aether
npm run dev
This spins up the backend on port
8080and the frontend on port3000.
Prefer containers? We got you.
docker compose up --buildAccess the app at http://localhost:3000.
| Action | Desktop | VR Controller |
|---|---|---|
| Move Camera | Mouse Drag | Thumbstick |
| Select Flight | Left Click | Laser Pointer + Trigger |
| Calibrate Direction | Left Controller Trigger + Rotate It | |
| Change Mode | UI Buttons | UI Buttons (In browser) |
Aether/
├── client/ # React application (Vite)
│ ├── src/
│ │ ├── components/ # 3D & UI Components
│ │ └── hooks/ # Flight data logic
├── server/ # Node.js Express API
│ ├── src/
│ │ └── services/ # Data fetching & Caching
├── shared/ # Types shared between Front/Back
├── docker-compose.yml # Container orchestration
└── README.md # You are here
All Rights Reserved.
This software is proprietary and confidential. No part of this software may be copied, modified, distributed, or reverse engineered without the express written permission of the author.
Built with ❤️ by Eduard Šimon
Data provided by OpenSky Network