Inspiration

My journey began with a simple fascination for the vast amount of open data provided by NASA. While services exist to track Near-Earth Objects (NEOs), I found them to be dense and often intimidating for a general audience and children. I was inspired to bridge this gap. What if you could ask questions directly to the data? What if I could create a personal "space lab" where anyone, especially younger learners, could feel like an explorer? This led to the creation of CosmoDex and our friendly AI sidekick, Quackstronaut, with a core mission: to make space science personal, interactive, and fun.

Check out the project on GitHub and drop a star if you liked it! :)

What it does

CosmoDex transforms NASA's real-time Near-Earth Object (NEO) data into an interactive and personal "space lab." Users can browse live asteroid data, but the core feature is the ability to ask questions directly about any NEO and get instant, easy-to-understand answers from an AI sidekick, Quackstronaut. Powered by Google's Gemini API, Quackstronaut also provides personalized "Daily Briefings." To make the experience engaging, users can save favorite NEOs and unlock over 15 space-themed achievements, turning data exploration into a fun, gamified journey

How I built it

I built CosmoDex on a robust Django backend. This Python framework handles all the logic, from user authentication provided by Auth0 to fetching data from external APIs.

Data & AI: I created dedicated modules to interact with NASA's NEO Web Service for live asteroid data and the Google Gemini API, which powers all of Quackstronaut's conversational abilities and content generation.

Authentication: I used Auth0 to manage the entire user authentication flow. I was able to implement social logins and fully customize the UI to match the "space lab" theme, all while ensuring the application remained secure.

Frontend: I chose a lightweight frontend stack using Vanilla JavaScript and Tailwind CSS. This allowed me to create a fast, responsive, and highly custom user interface with space-themed animations and effects.

Database: For the hackathon, I used SQLite to manage user profiles, favorited NEOs, and track progress for the achievement system.

Challenges I ran into

I had never worked with the Gemini API before so writing prompts was really a challenge that I faced, and also trying out authentication using Auth0 in Django was a very first, so that!

Accomplishments that I'm proud of

I'm incredibly proud of building a complete, full-stack application as a solo developer in such a short time. My biggest accomplishment is creating Quackstronaut, the AI sidekick. Engineering the prompts for Gemini to give it a consistent, friendly personality while providing accurate data was a highlight. I'm also proud of the custom gamification engine, which successfully turns passive data Browse into an active, rewarding experience. Finally, creating a cohesive and immersive "space lab" UI with custom animations that feels fun and engaging is an accomplishment I'm very happy with.

What I learned

This hackathon was a huge learning experience. Beyond the technical skills of integrating multiple APIs (NASA, Gemini, Auth0) within a Django framework, my biggest takeaway was the importance of resilience and strategic pivoting when facing roadblocks. I learned a great deal about prompt engineering for large language models to create a specific character and tone. Most importantly, I learned how to scope a complex project and focus on the core features that deliver the most impact.

What's next for CosmoDex!

I want to learn to deploy the project and include more categories of NASA's open data and have better visualizations.

Built With

Share this project:

Updates