-
-
Asteroid Collection Logo
-
Asteroid Collection Software Architecture
-
Asteroid Collection Catalogue
-
Asteroid Collection Details
-
Asteroid Collection Generated Report Page 1
-
Asteroid Collection Generated Report Page 2
-
Asteroid Collection Generated Report Page 3
-
Asteroid Collection Generated Report Page 4
-
Asteroid Collection Generated Report Page 5
-
Asteroid Collection Generated Report Page 6
-
Asteroid Collection Generated Report Page 7
Inspiration
As a young girl, like many children, I went through many phases of deciding on a future career. In the 6th grade, I developed a particular fondness of the universe and the various celestial bodies such as the planets, asteroids, comets, meteorites and stars. I have fond memories of studying the various outer space bodies with the hope of one day purchasing a telescope to view them up close at night.
While most people know of the eight planets in our Solar System, I find that not many people are informed about asteroids. As such, my fondness for space and education inspired me to build this project to inform the public about the numerous asteroids that exist in space. I have developed a web application powered by Next.js to fetch asteroid data from a MongoDB database, providing the base information to generate detailed PDF reports on the asteroid of a user's choice.
I hope this project will encourage users to further continue their study of space and celestial bodies. Our universe is beautiful and more people should know about it!
What It Does
Asteroid collection is a space-focused educational platform with a focus on asteroids. The platform contains astronomical details on up to 7,100 asteroids! We include detailed content such as the asteroid's name, observation dates, semi-major axes and orbit class types amongst other details. Users may generate detailed PDF reports on any asteroid of their choice to educate themselves on these fascinating bodies in our universe.
How I Built It
Asteroid collection utilises a complex yet well-integrated tech stack. The application web interface is coded with the Next.js framework which allows for the frontend to be implemented with HTML, CSS and TypeScript with the backend coded in Node.js. The backend uses the MongoDB Node.js driver to fetch asteroid data from a MongoDB database, and this data is then displayed on the frontend. A user may select any asteroid of interest, and data for this asteroid is passed to the Google Gemini API using the official Node.js SDK in order to generate detailed report content. A downloadable PDF with this content is produced for the user. The application is containerised with Docker and deployed to Google Cloud Run.
Full-Stack Application
- Frontend: Next.js (HTML, CSS and TypeScript)
- Backend: Next.js (Node.js)
Database
- MongoDB Atlas: asteroid collection and orbit_class_type collection
Generative Artificial Intelligence
- Google gemini-2.0-flash model
Application Deployment
- Docker + Google Cloud Run

Challenges I Ran into
The LLM model used to generate detailed asteroid reports is gemini-2.0-flash. While the model does a good job at generating the content, it sometimes produces a 503 error indicating that the model is overloaded. As such, this shortcoming required me to take extra precaution with error handling both on the backend and frontend. In order to prevent a poor user experience where the user may think that the entire system is buggy, I took care to display warning messages on the frontend indicating that the model just needs a cool down period and that the user may return to attempt the report generation at a later time.
When integrating external APIs and cloud services into an application, it is not uncommon for these issues to arise as you are no longer solely relying on your own services. Hence, it is important to properly manage these cases and inform the user of the application state.
Accomplishments that I am Proud of
I am very proud to have integrated a robust database, full-stack application and generative AI endpoint to produce asteroid content that users may enjoy. The platform is fully operational and focuses on space education for the public. I am particularly elated that the platform generates reports in the form of PDFs. Instead of merely generating textual content to be shown on screen, the platform efficiently generates the content as a downloadable file for users to later read which further underscores the academic nature of the project.
What I Learned
Developing Software is an arduous task that requires much code revision, testing and service integration. While the technical aspect of the process is hard, I would say the toughest part is the resilience required to push through failure and updates. I have learnt to be more diligent and detailed in my work style.
What's Next for Asteroid Collection
Asteroid Collection currently focuses on asteroids. In the future, I would love to expand the project to focus on other celestial such as comets, meteoroids and meteorites. Perhaps, in the future, the platform may even include content on foreign galaxies and exoplanets. I would say the sky is the limit, but we have already made it to space.
Log in or sign up for Devpost to join the conversation.