A dev built a slick SwiftUI menu bar app over the weekend to track the Artemis II mission. Let's dive into how he bypassed the lack of a clean NASA API.

Scrolling through Product Hunt while my spaghetti code is compiling, I stumbled upon a neat little app that’s got the space nerds absolutely losing their minds.
So, some madlad named Aaron O'Leary decided to spend his weekend spinning up a macOS menu bar app using SwiftUI. He called it Moonshot, and its sole purpose is to track NASA’s upcoming Artemis II mission.
It features live countdowns, mission elapsed time, crew rosters, and a sick visual timeline showing the Earth-Moon-Orion trajectory. The beauty of it? It sits quietly in your menu bar, doing one thing perfectly without hogging your RAM or forcing you to switch contexts and ruin your coding flow.
Down in the comments, the dev community was genuinely surprised. People like moh_codokiai were basically asking, "Wait, NASA actually provides structured API data for this?"
Plot twist: Hell no.
Aaron came clean and admitted there isn't a beautiful, ready-to-use API. To make this work, he's basically pulling data from NASA’s public mission pages and AROW tracking resources. He then parses that raw, unstructured goodness into state changes, phases, and countdowns. It’s "near-real-time," which is elegant dev-speak for "I scrape the public pages and pray they don't change the DOM."
Of course, because this is the internet, the feature-creep requests are already rolling in. People are asking for live photo feeds, websocket telemetry updates, and a "Flighty for space missions" roadmap covering the entire history of space travel. The guy built it over a weekend, chill out! Though honestly, with that kind of traction, he might as well seek some funding and build a full startup around it.
There are a few solid lessons here for us code monkeys:
Bottom line, Moonshot is a brilliant, highly pragmatic execution. If you're on a Mac, give it a spin while you wait for your next deployment to crash.
Source: Product Hunt - Moonshot