explaingit

cpaczek/skylight

Analysis updated 2026-05-18

2,126TypeScriptAudience · vibe coderComplexity · 4/5Setup · hard

TLDR

Skylight decodes ADS-B aircraft signals from an RTL-SDR radio and projects live planes, plus a sky layer of stars, moon, and satellites, onto your ceiling.

Mindmap

mindmap
  root((skylight))
    What it does
      Decodes ADS-B via RTL-SDR
      Projects planes on ceiling
      Live sky layer
      Phone control panel
    Tech stack
      TypeScript
      React
      Node.js
      Raspberry Pi
    Use cases
      Home ceiling projector build
      Try with API mode only
      Track ISS and satellites
      Real-time flight art install
    Audience
      Hobbyists and makers
      Vibe coders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a Raspberry Pi appliance that projects real-time overhead flights onto a ceiling.

USE CASE 2

Try the display in a browser using a free public flight API with no radio hardware.

USE CASE 3

Add a live sky layer of sun, moon, stars, constellations, and satellites including the ISS.

USE CASE 4

Control the display live from a phone control panel over your home network.

What is it built with?

TypeScriptReactNode.jsRaspberry Pi

How does it compare?

cpaczek/skylightbutterbase-ai/butterbasedavidmonterocrespo24/velxio
Stars2,1262,1961,990
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-07-03
MaintenanceActive
Setup difficultyhardmoderateeasy
Complexity4/54/52/5
Audiencevibe coderpm founderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Full hardware build needs a Raspberry Pi 5, RTL-SDR receiver, and a projector, a no-hardware API mode is available for quick local testing.

The README does not state a license.

In plain English

Skylight turns your ceiling into a live map of every aircraft flying overhead right now. A cheap USB radio receiver picks up the tracking signals that planes broadcast automatically, and a projector pointed at the ceiling renders each flight as a glowing icon that moves in real time. You see the airline, aircraft type, and destination. The background is pure black so the projector's edges disappear and it looks like the aircraft are actually crossing your ceiling. Beyond aircraft, the project also draws a live sky layer behind the planes: the sun, the moon with its current phase, bright stars and constellation lines, and satellites including the International Space Station, all at their mathematically correct positions for your location and time. From your phone, you can scrub time forward to preview the next ISS pass, toggle any layer on or off, and adjust colors and orientation without touching the Raspberry Pi running the display. The hardware setup calls for three things: a Raspberry Pi 5, an RTL-SDR USB radio receiver with a small dipole antenna, and a 1080p projector pointed at the ceiling. The README notes that an expensive laser projector is not necessary. A basic native-1080p LED projector around $150 works well in a dim room because the content is sparse dots on a black background. The Pi boots straight into a full-screen display without a keyboard or mouse attached. You can try Skylight without any hardware at all. Running the project in its API mode pulls live flight data from a free public source over the internet, so you can see the display working in a browser on your computer first. Switching to the USB radio for real local reception requires installing a decoder tool called dump1090, which the included scripts handle. The project is built with TypeScript and React. Configuration lives in a single file and is editable live through the phone control panel. The README includes full setup instructions for the Raspberry Pi, notes on swapping in your local airport's runway layout, and a deployment script for pushing updates from your main computer to the Pi over your home network.

Copy-paste prompts

Prompt 1
Help me run Skylight locally in API mode with pnpm before I buy any RTL-SDR hardware.
Prompt 2
Walk me through setting up dump1090 and an RTL-SDR receiver for Skylight's radio data source.
Prompt 3
How do I change Skylight's centerLat and centerLon config to point at my own location instead of SFO?
Prompt 4
Explain Skylight's architecture from RTL-SDR through the server to the ceiling projector display.

Frequently asked questions

What is skylight?

Skylight decodes ADS-B aircraft signals from an RTL-SDR radio and projects live planes, plus a sky layer of stars, moon, and satellites, onto your ceiling.

What language is skylight written in?

Mainly TypeScript. The stack also includes TypeScript, React, Node.js.

What license does skylight use?

The README does not state a license.

How hard is skylight to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is skylight for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.