A web observatory that classifies exoplanet candidates from NASA's Kepler and TESS data with a gradient-boosting ensemble, keyless demo included.
Live demo. Click Run to load the real app and use it right here, or open it full-screen.
GRIT-X-AWA is a web app for classifying exoplanet candidates from two NASA missions, Kepler and TESS. The front end is Astro 5 with React 18 islands and a three.js starfield: a landing page drops into a Mission Control dashboard where you pick a mission, upload a CSV or type a candidate in by hand, read model-metric cards, then open a full-page results modal with per-class confidence and CSV or JSON export. A paginated browser reads Supabase-hosted mission datasets, react-three-fiber renders 3D orbital views, and an in-app chatbot answers questions about the science.
The prediction engine is a Python FastAPI service on Google Cloud Run. Each mission has its own ensemble of three gradient-boosting models, CatBoost, XGBoost, and LightGBM, blended by a fixed weighted soft vote (0.40 / 0.35 / 0.25) into a labeled disposition. It now ships as a keyless public demo: demo mode is on by default, so uploads and manual entries return canned but realistic predictions, the data browser falls back to bundled sample rows, and the chatbot returns a graceful scripted reply, which means the whole site runs with no backend and no API keys. Set PUBLIC_DEMO=false with a live backend to hit the real ensemble.
Vetting a transit signal as a real planet, an eclipsing binary, or noise is slow expert work, and the raw Kepler and TESS tables are wide and unfriendly. GRIT-X-AWA puts a trained ensemble behind a single upload box so a candidate list becomes labeled dispositions with confidence in seconds, and makes the pipeline explorable in the browser instead of a notebook.
frontendappAstro 5 and React 18 client with a three.js starfield: the Mission Control dashboard (mission pick, CSV upload or manual entry, metric cards, results modal with CSV and JSON export), a paginated Supabase data browser, react-three-fiber orbital views, and the chatbot.
backendserviceFastAPI app on Google Cloud Run that auto-detects the mission, preprocesses the CSV, runs the weighted ensemble, and returns per-row predictions with per-class confidence over a REST API.
kepler + tess modelsmodelTwo per-mission ensembles (CatBoost, XGBoost, LightGBM) plus their imputer, encoders, and meta.json, pickled and loaded on backend startup for the 3-class Kepler and 6-class TESS vote.
demoFixtureslibraryThe keyless demo layer: deterministic canned prediction fixtures, bundled sample rows for the data browser, and a scripted chatbot reply, gated by the PUBLIC_DEMO flag so the site runs with no backend or keys.
chat endpointserviceAn Astro SSR /api/chat route with per-IP daily rate limiting that powers the in-app assistant and degrades to a graceful scripted reply in demo mode.