Renders ADS-B data at 60 fps by tweening between ~1 Hz fixes with no teleporting...
R

Renders ADS-B data at 60 fps by tweening between ~1 Hz fixes with no teleporting...

Renders ADS-B data at 60 fps by tweening between ~1 Hz fixes with no teleporting...

2,970 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Skylight: Smooth, Real-Time ADS-B Visualization at 60 FPS

Intro

If you've ever worked with ADS-B data (the stuff that tracks aircraft positions from ground stations), you know it's usually broadcast at about 1 Hz. That's one position update per second. Fine for a map, but if you try to render it directly on a screen, you get a jittery, choppy mess. Planes teleport, and it looks awful.

That's where Skylight comes in. It takes those ~1 Hz position fixes and interpolates (tweens) between them, rendering the whole thing at a silky 60 frames per second. No teleporting. No stutter. Just smooth, continuous aircraft movement. It's a small, focused project that solves a very specific problem in a clever way.

What It Does

Skylight is a lightweight, browser-based visualization tool for ADS-B (Automatic Dependent Surveillance-Broadcast) data. It ingests real-time aircraft position reports (typically from a local receiver or an online source) and renders them on an interactive map. The key difference? It doesn't just plot raw points. It uses a tweening engine to smoothly animate aircraft between updates, so they glide across the map instead of jumping.

Under the hood, it's built with modern web technologies – likely WebGL or Canvas for the rendering, and a simple interpolation algorithm that predicts position based on the last known fix and heading. The result is a smooth, 60 fps view of air traffic that feels more like watching a live simulation than a static data dump.

Why It's Cool

The obvious use case is for aviation enthusiasts, hobbyists, or anyone running an ADS-B receiver (like a FlightAware or AirSquitter setup). But the clever part is the interpolation itself. Instead of just displaying raw data (which most tools do), Skylight fills in the gaps intelligently. That means it doesn't just look better – it actually makes the data easier to understand. You can see flight paths, turns, and speed changes more naturally.

Another cool thing: it's open source and self-contained. You can run it locally or host it on a simple server. No cloud dependencies, no API keys needed (if you're feeding data from a local source). That's a big win for privacy and control.

And because it's all client-side, performance is great even on modest hardware. The interpolation math is cheap, and the rendering is handled by the GPU if available. So you get buttery smooth animation without burning your CPU.

How to Try It

The easiest way is to check out the live demo (if one is linked in the repo) or clone the repository yourself. Here's the quick start:

git clone https://github.com/cpaczek/skylight.git
cd skylight
# Check the README for specific build/run instructions
# Usually it's something like:
npm install
npm start

You'll need to provide an ADS-B data source – either from a local receiver (like a Raspberry Pi with a USB stick) or from a public feed. The repo likely has a sample data file or a config option to point to your own source. After that, open the browser and watch planes glide smoothly acr

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Jun 6, 2026