When I first discovered that NASA publishes live asteroid tracking data through their public APIs, I noticed a gap — the data existed, but there was no accessible way for everyday people to actually understand it. Scientists could parse the raw JSON, but a student, a teacher, or a curious parent had no way to quickly answer: “Is anything dangerous passing by Earth this week?”
That question became the foundation of PDEDM — the Planetary Defense & Ephemeris Data Manager.
PDEDM is a full-stack, real-time dashboard that connects directly to NASA’s Near Earth Object Web Service (NeoWs) and the JPL Horizons system. It pulls live orbital telemetry for every asteroid scheduled to pass Earth within a 7-day forecast window and presents it through two distinct interfaces:
The first is the NEO Operations Dashboard, designed for users with a scientific background. It displays raw metrics — relative velocity, miss distance in Lunar units, estimated diameter ranges, and orbital parameters — through sortable data tables, velocity distribution charts, and an interactive ephemeris calculator.
The second is the Public Briefing portal, built specifically for non-technical audiences. This page takes the same dataset and automatically translates the numbers into real-world analogies. A 140-meter asteroid becomes “the size of a football stadium.” A velocity of 23 km/s becomes “30 times faster than a speeding bullet.” A simple threat banner system — Condition Green for safe, Condition Yellow for hazardous — lets anyone, including children, immediately understand the current state of near-Earth activity.
The biggest technical challenge was working within NASA’s API constraints. Their feed endpoint enforces a strict 7-day maximum per request and a rolling quota of 1,000 requests per hour. I built a server-side proxy layer to securely handle authentication, forward rate-limit headers to the frontend, and ensure the API key never gets exposed to the browser.
This project pushed me to learn things I had never touched before — server-side API routing, real-time state management, orbital mechanics terminology, and building interfaces that make complex scientific data feel approachable. It was frustrating at times, but seeing the final result pull live data from NASA and present it in a way that anyone can understand made every broken build worth it.
- 3 devlogs
- 1h