Inspiration
Space has always felt distant and complex. I wanted to make it interactive — where anyone could explore asteroids, plan Mars missions, and experience AI-generated space scenarios in real time. The idea was to combine NASA's live data with Google Gemini's intelligence into one unified platform.
What it does
Nebula AI is a full-stack space intelligence platform with 12 modules:
- Asteroid Monitor — 7-day NASA NEO feed with Gemini AI threat analysis
- AstroRunner Game — Canvas platformer with Gemini-generated levels
- Mars Planner — AI calculates real mission logistics and risks
- Moon Colony Designer — AI architects lunar habitats
- Cosmic Quiz — Gemini generates space quizzes on any topic
- Space Gallery — NASA APOD with Gemini AI interpretation
- Impact Simulator — Click anywhere on Earth, AI models the blast
- Space Tutor — Conversational AI for any space science question
- Planet Explorer, Satellites, Research Simplifier, What If?
How I built it
Built with Node.js, Express, TypeScript, and EJS templating on the backend. Google Gemini 2.5 Flash handles all AI generation through structured JSON prompts. NASA's NEO Feed and APOD APIs provide real-time space data. The game engine is vanilla canvas JS with a 4000px scrolling world. Deployed on Render with automatic GitHub deploys.
Challenges
The biggest challenge was that browsers can't run TypeScript files directly —
every AI feature was broken because of <script src="/src/file.ts"> imports.
Fixing this meant rewiring every page to call Express backend routes instead.
Also managing Gemini API rate limits required building an automatic model
fallback system across gemini-2.5-flash → gemini-2.5-flash-lite → gemini-2.0-flash.
What I learned
How to architect a full AI-powered web app end to end — from prompt engineering structured JSON responses, to building canvas game physics, to deploying on cloud infrastructure with environment-based configuration.
What's next
3D Earth with real orbiting asteroids using Three.js, user accounts with score leaderboards, and real-time asteroid proximity alerts.
Built With
- ejs
- express.js
- google-gemini-ai
- leaflet.js
- nasa-apis
- node.js
- tailwindcss
- three.js
- typescript
- vite
Log in or sign up for Devpost to join the conversation.