explaingit

harinayan/space-monitor-ai

2TypeScriptAudience · developerComplexity · 4/5ActiveSetup · moderate

TLDR

Web dashboard with a 3D solar system, live NASA data panels, and an AI co-pilot that flies the camera, explains physics, and runs quizzes.

Mindmap

mindmap
  root((Space-Monitor-AI))
    Inputs
      Plain English
      NASA API key
      User clicks
    Outputs
      3D scene
      Streaming answers
      Quiz questions
    Use Cases
      Explore planets
      Track ISS
      Learn astronomy
    Tech Stack
      Next.js
      Three.js
      FastAPI

Things people build with this

USE CASE 1

Run a classroom demo of the solar system with live ISS position and Mars weather

USE CASE 2

Ask an AI to fly the camera to Jupiter and open its info panel

USE CASE 3

Generate multiple-choice astronomy quizzes about a chosen planet

USE CASE 4

Stream explanations of orbital physics over Server-Sent Events

Tech stack

Next.jsThree.jsFastAPIPythonTypeScript

Getting it running

Difficulty · moderate Time to first run · 30min

Needs Python venv plus uvicorn plus npm and a NVIDIA API key, with an optional NASA key for full panels.

In plain English

Space Monitor is a web app that combines an interactive 3D solar system, a grid of live NASA data panels, and a conversational AI co-pilot. The user opens the dashboard and sees a Three.js scene with the eight planets in their real elliptical orbits, sixteen moons, axial tilt, Saturn's rings, a cloud layer on Earth, and a starfield in the background. Around the scene sit fourteen panels showing things like the position of the International Space Station, exoplanet catalog entries, solar flare activity, Voyager's distance, NASA's Astronomy Picture of the Day, and Mars weather. The AI co-pilot accepts plain English and routes each request into one of three intents. A navigate command, such as Take me to Jupiter, flies the camera to that body and opens its info panel. An explain command answers a question, such as Why is Venus hotter than Mercury, with a streaming response delivered through Server-Sent Events. A quiz command generates a multiple-choice question about a body the user picks. The AI also has four tools it can call to fetch real data: planet data, space news, current orbital position, and upcoming launches. The README says a five-model fallback chain (MiniMax, Llama, Mistral, Gemma, Phi) keeps it answering if one provider fails. The orbital math is solved client side using a Kepler equation solver with real eccentricities, which replaced eight slower calls to NASA's JPL Horizons service. The README also mentions a curriculum system with three levels and nine lessons that unlock as the user finishes quizzes, with progress tracked per session. The stack is Next.js 16 and Three.js on the frontend, FastAPI on the Python backend, and a NVIDIA-hosted model accessed with an NVIDIA API key. A NASA API key is optional for the data panels. Tests cover both sides: 17 vitest tests for the orbital math and 52 pytest tests for agent routing, memory, and the curriculum. To run it locally you clone the repo, set up a Python virtual environment for the backend, run uvicorn on port 8000, install the frontend dependencies with npm, and start the Next.js dev server on port 3000. A live demo is hosted on Vercel.

Copy-paste prompts

Prompt 1
Clone Space-Monitor-AI and get the FastAPI backend running on port 8000 with a NVIDIA API key
Prompt 2
Add a fifteenth data panel that shows current aurora forecast from NOAA
Prompt 3
Walk me through the Kepler solver in the Three.js client and how it replaced JPL Horizons calls
Prompt 4
Help me extend the five-model fallback chain to add a sixth provider
Prompt 5
Write a vitest case for the orbital math that checks Saturn's eccentricity
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.