Devlog #1: Building NASA-Pulse
What I built
A little site that pulls NASA’s Astronomy Picture of the Day and shows it with the title, image (or video), and explanation. Nothing crazy complicated on paper, but it ended up teaching me a lot more than I expected going in.
Live here: https://stashm10.github.io/NASA-Pulse/
This was my first time actually setting up a full pipeline from scratch –> Vite for the build, GitHub for version control, GitHub Actions for CI/CD, and GitHub Pages for hosting. I’d used git before but never wired together a real automated deploy flow, so that part alone was a good learning curve.
Currently, this website is a little slow in terms of loading speed. After deploying, the site would sometimes work fine and sometimes just hang on “Loading…” for a minute before failing. Turns out NASA’s own API servers were timing out, not a bug in my code. Confirmed it by hitting the raw API URL directly and getting a server timeout error. Ended up adding a timeout + automatic retry so the site fails faster and recovers on its own more often instead of just hanging.
What I’d do differently
Honestly, not much. Going step by step through GitHub setup -> local scaffolding -> coding -> deployment in that order made debugging way easier than if I’d tried to do everything at once. Testing locally before pushing saved me from pushing broken code multiple times.
What’s next
A few ideas I want to come back to:
- Add a date picker so I can browse past APOD entries, not just today’s
- Handle the “already have a token but rate-limited” case more gracefully, maybe cache the day’s response so repeated visits don’t hit the API again
- Clean up mobile styling a bit more — the zigzag decorative strips are hidden below 600px right now, but I want to double check the rest of the layout holds up on smaller screens
- Maybe swap in a search-by-date feature or a “random APOD” button for fun
Takeaways
This was a good first real end-to-end project AND not just “write some code” but actually shipping something live, dealing with a flaky third-party API, and setting up a deploy pipeline that runs itself going forward. Small project, but it covered a surprising amount of ground.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.