Devpost Criteria
DATASET CHOICE
We use two NASA datasets — the NASA Exoplanet Archive TAP API for all exoplanet candidate data, and the NASA POWER API (listed in the NASA Open Data Portal) for 10 years of real Earth climate measurements including temperature, precipitation, humidity, wind speed, and solar radiation.
ANALYSIS
We run linear regression on all five NASA POWER climate parameters to compute real trend slopes. These slopes project each parameter forward and calculate exactly when Earth's climate crosses a critical threshold — giving a scientifically grounded countdown to uninhabitability.
VISUALIZATION
We built a Three.js exoplanet star field, live sparkline charts for each climate parameter, a radar comparison chart between Earth and any selected planet, an SVG orrery showing the launch trajectory, and a telemetry dial for launch window viability.
ACCESSIBILITY
Every technical term has an inline tooltip explaining it in plain language. The radar chart makes planet comparison intuitive — no numbers needed. The narrative framing (Earth is dying, find a new home) gives non-scientists an immediate emotional hook to engage with the data.
STORYTELLING
The app is structured as a tonal progression across three acts. It begins with a urgent mission-critical interface focused on hard climate data, transitions into exploratory discovery through exoplanet search, and concludes with a cinematic, arcade-like launch sequence. The final moment shifts into a more melancholic, bittersweet tone as the Colonial Viability Index (CVI) is revealed — transforming the experience from analysis into a reflective outcome driven by the user’s decisions.
Challenges
Some of the challenges we faced involved creating a visualization that could be used by anyone. We wanted people with little to no experience with NASA datasets to still be able to understand and use our project, so we decided that presenting the data in the form of a game would be the best solution. We also faced technical challenges, especially compilation errors caused by our unfamiliarity with NASA APIs and 3D rendering, but documentation and support materials helped us work through those issues. All of us now feel comfortable with rendering with Three.js and using APIs better.
Stack
Frontend: Next.js 14 + React 18 + TypeScript 3D Rendering: Three.js + React Three Fiber + Drei State Management: Zustand Styling: Tailwind CSS + Framer Motion Data APIs: NASA Exoplanet Archive TAP API, NASA POWER API (Earth climate data) Build: Webpack (with ONNX Runtime alias handling)
Instructions
Part 01 — EARTH IS DYING
You begin in a urgent, mission-critical control interface. Earth's climate is deteriorating in real time using NASA POWER data and linear regression projections. The dashboard presents cold, hard numbers — each stat card shows a projected future value based on 10 years of real climate data. The countdown timer tracks how long remains until the first critical threshold is breached. When it reaches zero, the system does not negotiate — it simply fails.
Part 02 — FIND A NEW HOME
From this analytical starting point, you transition into exploration. Navigate to EXOPLANET SEARCH or click INITIATE EXODUS to enter a 3D star field populated with real exoplanet candidates from the NASA Exoplanet Archive. Select a planet to evaluate it against Earth's baseline using a radar chart of key attributes — temperature, radius, mass, orbital period, and distance. What begins as data analysis starts to feel like a search for hope.
Part 03 — CONFIRM THE MISSION
Once you've selected a destination, click SELECT AS DESTINATION to proceed to LAUNCH SEQUENCE. The interface shifts into a cinematic view — an orbital trajectory arc that dynamically scales based on the distance to your chosen planet. Longer distances produce more extreme arcs, reflecting the risk of your decision. When you're ready, hit CONFIRM LAUNCH to initiate the sequence. At the end of the launch, your Colonial Viability Index (CVI) is revealed — your final score and the ultimate measure of whether humanity survives.
Built With
- apis
- nasa-exoplanet-archive
- nasa-open-data-portal
- nasa-power
- next
- react
- tailwind
- three.js
- typescipt
- vercel
- webpack
- zustand

Log in or sign up for Devpost to join the conversation.