Inspiration
Space is one of humanity's greatest frontiers — and yet, the data driving our understanding of it is scattered across dry databases and hard-to-navigate tools. We wanted to build something that made exploring asteroids, meteorites, and exoplanets feel as epic as it actually is. The rise of asteroid mining as a real commercial frontier and NASA's Psyche mission heading toward a metal-rich asteroid worth trillions inspired us to ask: what if anyone could explore space data and plan a real mission from their browser?
What it does
COSMOLYTICS is an interactive space data explorer and mission planning platform. It lets users:
Explore asteroids, meteorites, and exoplanets through rich, filterable visualizations across multiple dedicated pages Plan space missions end-to-end — selecting a target, choosing a spacecraft, defining a mission profile (flyby, orbital, landing, or sample-return), and getting full cost & ROI projections Travel through time with a Time Machine slider that animates discovery data from the past into projected futures up to 2100 Chat with COSMOS AI, a built-in assistant that answers natural language questions — from "what's the most valuable asteroid?" to "show me habitable exoplanets" Hear the data through a Sonification Panel that maps asteroid and exoplanet properties to musical notes Collaborate live with ghost cursors, an activity feed, and presence indicators Annotate data points with insights, questions, and issues — and upvote community observations Unlock a hidden Asteroid Miner game via the Konami code 🎮
How we built it
Stack:
Frontend: React 18 + TypeScript, bundled with Vite Routing: React Router v6 Charts & 3D: Recharts for data viz, Three.js / React Three Fiber for 3D rendering Animation: Framer Motion throughout Audio: Tone.js for real-time data sonification Styling: Tailwind CSS v4 with a custom space-themed design system — animated starfields, nebula gradients, glassmorphism panels Data modeling was done entirely client-side via a rich data.ts file covering orbital mechanics, composition, value estimates, mining feasibility, habitability scores, and atmospheric data across all three object types.
Challenges we ran into
Sonification timing — Getting Tone.js to play notes in sync with data playback required careful management of synth lifecycles and async audio context initialization across re-renders Time Machine performance — Animating year-by-year transitions at speed without blocking the UI required aggressive useMemo and debouncing across downstream components Mission planner math — Building a simplified but internally consistent orbital mechanics model for delta-v, transfer times, cost, and ROI Collaborative feel without a backend — Simulating live presence (ghost cursors, activity feed) in a purely client-side app required creative interval-based simulation
Accomplishments that we're proud of
A fully functional multi-step mission planner with real cost breakdowns and ROI timelines based on spacecraft parameters A natural language AI chat interface that correctly routes questions about accessibility, value, habitability, and risk to the right data Data sonification — turning asteroid compositions into actual music — a genuinely novel way to experience space data A polished, immersive UI that feels like a real space operations dashboard A hidden easter egg that rewards curious users 🚀
What we learned
Tone.js has a steep learning curve around Web Audio API autoplay restrictions — audio context must always be gated behind a user gesture Good data modeling upfront (types.ts + data.ts) pays off enormously when multiple views all slice the same dataset differently Perceived collaboration is a powerful UX technique — even simulated presence indicators make an app feel alive and social useMemo and useCallback are non-negotiable when complex calculations feed live-animated components
Log in or sign up for Devpost to join the conversation.