DEV Community

Guillaume Sere
Guillaume Sere

Posted on

🚀 Building nasa-media — Exploring NASA’s public image archives with React

I recently built nasa-media, a web application that allows users to explore NASA’s public image archive using the NASA Image and Video Library API.

The goal of this project was not just to consume an API, but to turn a raw data source into a clean, usable and user-friendly experience.

🛰️ About the NASA Image & Video Library API

NASA provides a public API that grants access to:

  • historical space missions

  • planetary exploration images

  • lunar archives (Apollo missions)

  • ISS, Mars rovers, astronomy media

  • The API endpoint used in this project is: https://nasa-media.vercel.app/

🎯 Project goals

My main objectives were:

âś… Make large archives easy to explore

âś… Keep the UI readable even with long descriptions

âś… Provide a fast and intuitive search experience

âś… Ensure the app works well on desktop and mobile

âś… Preserve clarity and performance despite pagination

⚙️ Tech stack

React
Fetch API
NASA Image & Video Library API
CSS (flexbox / responsive design)
React Router
Lottie animations

🔎 Key features

1. Search system

Users can search for specific topics or missions:

Moon
Apollo
Mars
ISS
Any NASA-related keyword
Each search resets pagination to keep results consistent.

2. Paginated results

The API supports pagination, which is handled client-side:

next / previous navigation
detection of remaining pages
automatic scroll-to-top on page changes
This keeps the UX smooth and predictable.

3. Enriched image cards

Each result card displays:

the image
the official NASA title
the full description from the archive
The descriptions are always visible, allowing users to understand the context of each image without extra clicks.

4. UX improvements

Some UX details that made a big difference:

smooth scroll between pages
responsive layout for small screens
click on image opens high-resolution version
clear page description explaining how to use the app
automatic closing of mobile navigation menu

đź§  What I learned

This project helped me reinforce several skills:
Working with real-world public APIs
Handling API inconsistencies and missing fields
Designing UI around long-form content
Improving UX without overcomplicating the interface
Managing state and pagination cleanly in React

It also reminded me that good UX matters as much as clean code, especially when dealing with large datasets.

đźš§ Possible next improvements

Some ideas I’d like to explore next:
route-based detail pages for each image
lazy loading for images
SEO improvements for archive pages
filters by media type or NASA center
skeleton loaders for better perceived performance

🌍 Final thoughts

nasa-media is a personal project, but it reflects how I like to approach development:

clean UI, clear purpose, and meaningful data presentation.

If you enjoy working with APIs, open data, or frontend UX, I highly recommend exploring NASA’s public APIs — there’s a lot of fascinating content available.

Thanks for reading 🚀
Feel free to share feedback or ideas for improvement.

Link: https://nasa-media.vercel.app/

Top comments (0)