Neighborhood Earth · How this works
Inside Launches from Earth
A spinning globe, sixty upcoming rocket launches, and a small machine that quietly rewrites the page once a day. Here is all of it, with nothing left out.
Open the globe View the codeWhat it is
Launches from Earth is an interactive globe showing where rockets are about to leave the planet. Spin it, tap a spaceport, and you get the mission, the vehicle, who is flying it, and a countdown converted to the time on your own device.
We built it to ask a question we think is more interesting than any single launch: what can worldwide space launches teach us about how Earth is connected? Launches usually arrive as isolated events — a rocket, a company, a countdown. Put a few months of them on one globe and you get geography, engineering, economics and international politics in the same picture.
How it actually works
The globe is arithmetic, not 3D
There is no 3D engine here, and no graphics library. The globe is drawn with the plain 2D canvas — the same tool you would use to draw a rectangle. Every frame, the page takes a list of latitude and longitude pairs, works out where each one lands on a circle, throws away everything on the far side of the planet, and draws the lines that survive.
That is the entire trick. The sense of a sphere turning in space comes from trigonometry and a drop shadow.
A third of the file — 32,865 bytes of a 93,423-byte page — is a single line holding the world's coastlines and borders as raw coordinates, traced from the Natural Earth public dataset. It was written once and has never been edited since. Continents do not ship updates.
Three sets of data, and only one of them moves
It is tempting to imagine the app pulling from several feeds and blending them. It does not. It holds three separate tables joined by short ids, and they change at wildly different rates:
- The coastlines Baked into the page. Never changes.
- The spaceports Baked into the page. Edited by hand, rarely — though the daily job can add one it has never seen.
- The launches Rebuilt automatically every day from one source: The Space Devs' Launch Library API.
Each launch carries a short site id — vsfb, jiu — pointing
at a spaceport, which carries the coordinates, which get drawn against the
coastlines. Three tables joined by ids: a very small database, living inside a web
page.
It asks the same source twice, by two different routes
When you open the page, it tries the Launch Library API live from your browser, and the header says Live feed if that works. If the request fails — the API is rate-limited and does occasionally go down — the page falls back to a copy of the data baked into the file itself, so it is never blank.
The daily rebuild exists so that fallback copy is never more than about a day old. Same source, belt and braces.
Where the self-updating lives
This is the part people usually get wrong, and the answer is worth stating plainly: the machinery that updates the app does not live on this website. It lives in the app's own code repository, and the website is a passive recipient — it contains no scheduled jobs at all.
So what does Cloudflare do?
Nothing at all to do with rockets. This trips people up because Cloudflare genuinely is in the chain, just at a different link: Cloudflare is this website. It stores the pages, rebuilds them when something changes, and delivers them to your browser. It is the delivery van, not the newsroom. It never knows that a launch schedule moved.
There is a second Cloudflare piece built for this project — a small service to collect visitor feedback without storing anyone's IP address — but it is written and not yet switched on, so the feedback button stays hidden. More on that below.
What it is made of
Every name here is a real thing you can go and read about. That is the point of listing them.
- The 2D Canvas API The browser feature that draws the globe. Standard in every browser; endless tutorials.
- Natural Earth Free public-domain map data. The coastlines and borders come from here.
- The Space Devs' Launch Library API A free, open database of past and upcoming launches worldwide.
- GitHub Actions The scheduler that runs the daily rebuild on someone else's computer, for free.
- Git Version control. Every daily update is a saved snapshot you can compare against yesterday's.
- Astro and Cloudflare Workers How steamhead.space itself is built and served.
The app has no build step, no frameworks and no dependencies. One file, opened directly, works offline. That is unusual today and it was a deliberate choice — it means a student can read the whole programme from top to bottom.
What is hard, unfinished, or went wrong
We would rather show you this than a page implying everything went smoothly.
The globe disappeared for eight days
In September 2026 the daily job added a new spaceport to the page's list and left out a single comma. Because every line of this app lives in one block of code, that one character stopped the entire programme from running. Not a broken feature — a blank space where the globe should be, in every browser, for eight days.
The uncomfortable part is that all the automated checks stayed green the whole time. They confirmed the job had run; nobody had thought to check that what it produced could still run. So we added the highlighted step in the diagram above: the job now has to prove the page still works before it is allowed to save it.
Working systems teach you that things work. Broken ones teach you how they work. This failure is more useful than the eight months it ran correctly.
Launch dates are genuinely unreliable
Dates move constantly, and are sometimes only accurate to the month or the quarter. Rather than hide that, the countdown changes its own precision to match — seconds when a launch is hours away, roughly 2 months when that is honestly all anyone knows — and each mission says plainly whether its date is a published target, a "no earlier than" window, or an estimate.
Collecting feedback without collecting people
You can send us a short note from the menu at the top of the globe. The hard part was not the button — it was working out how to stop one person flooding it without keeping track of anybody.
What gets stored is the message, the date, a two-letter country code, and a scrambled fingerprint of your connection. Never your IP address. The scrambling changes every day, so it can tell that fifty notes came from one person this afternoon, and cannot tell that you were also here yesterday.
That matters because this is built for classrooms. Storing real addresses would make us a handler of children's personal data, with everything that follows. This way we get the same protection against abuse and none of that.
The daily job runs about five hours late
It is scheduled for 06:10 UTC and reliably runs closer to 11:30. Free scheduled jobs go to the back of the queue. It does not matter here, but it is a good lesson in the difference between what a schedule says and what a system does.
Was any of this AI?
A fair question, and the answer has two halves worth keeping apart.
AI helped write the programme. SteamHead builds openly with AI assistance and we say so rather than leaving it implied.
The programme itself contains no AI whatsoever. The daily update is about 155 lines of ordinary instructions: fetch the data, reshape it, write it into the file, save it. Fixed rules all the way down — if a launch pad is within 1.2 degrees of a known spaceport, call it that spaceport; take the first sentence of the description by stopping at the first full stop. It makes no judgements and it cannot surprise you.
For something that publishes to a live website unattended every day, being predictable is exactly what you want. The eight-day outage proves it: the failure was not bad judgement, it was a missing comma.
Where to go next
If any of this caught your interest, here are the questions we would chase first.
- Why are spaceports where they are? Why does almost everyone launch eastward, and why is a site near the equator worth so much?
- How do you draw a sphere on a flat screen — and what does every world map have to distort to exist?
- What is an API, and what changes about the world when public data is free to use?
- How often does a "scheduled" launch actually move? Every daily snapshot of this project is saved, so this one is measurable rather than a matter of opinion.
Take it to an AI assistant
Copy this into Claude, ChatGPT, Gemini, or whichever you use. Swap the parts in brackets for whatever you actually want to know.
Read https://www.steamhead.space/neighborhood-earth/launches-from-earth/how-it-works/ and explain [why launch sites sit where they do] to me at [curious beginner / high school / undergraduate] level. Then ask me three questions to check whether I understood.
That last line does the real work: it turns an explanation into a conversation where you get to find out what you missed. Note that some assistants cannot open web pages — that is why the topic is named inside the prompt as well as linked.
We name several tools rather than recommending one, and none of this needs an account or any personal information. If you would rather not use an AI at all, the same questions work perfectly well in a search engine, a library, or on a teacher.
Somewhere that isn't a screen
Your nearest space or science centre almost certainly has someone who lights up when asked why rockets launch eastward. The Space Devs are a volunteer group who maintain the launch database this project runs on, in public and for free — a good example of the kind of open infrastructure most people never hear about.
Read the actual code
The whole project is open source and deliberately small enough to read. It is one file. Everything is on GitHub, including every daily snapshot since the day it launched.