About the project
Project Supernova — Neutrinos arrive first. We aim telescopes before the light.
When a nearby star dies, a neutrino burst can reach Earth minutes to hours ahead of optical shock breakout. We turn that head start into a sky localization, a ranked list of likely progenitor stars, and live alerts observers can act on — before the flash.
Try it: https://supernova.lylinks.com
Try with SpaceX theme: https://supernova.lylinks.com/spacex
Code: github.com/kejiwuxian/Breakout
Inspiration
Core collapse releases neutrinos promptly; the explosion shock still has to climb through the stellar envelope before light escapes. That gap is the race: localize, prioritize known massive stars, and get coordinates onto real instruments while the optical breakout window is still open.
Class-dependent models put that window roughly from tens of seconds (compact Wolf–Rayet) to about a day (some red-supergiant cases) — estimates, not countdown clocks for any one star:
$$ t_{\mathrm{breakout}} \sim \begin{cases} \mathcal{O}(10\ \mathrm{s}) & \text{compact WR} \[0.25em] \mathcal{O}(1\ \mathrm{day}) & \text{some RSG} \end{cases} $$
If we wait until humans already “know” the supernova is happening in the optical, that head start — and often the breakout window — is already gone.
What it does
- Ingests supernova / high-energy neutrino alerts (cached IceCube & galactic CCSN replays offline; live GCN / SNEWS-style channels when configured).
- Localizes on an all-sky SVG Mollweide map (Yale Bright Star Catalogue 5th Ed. field) and ranks stars inside the area of interest against a precomputed literature inventory.
- Pushes ranked ICRS coordinates to anyone who Subscribes to events — campus scopes and backyard instruments included — over a live WebSocket.
Honesty rules we ship with the product
- No invented bibcodes.
- Simulated runs wear a Simulated badge (
simulated=truein JSON). - Community packages are follow-up helpers, not official GCN notices.
How we built it
| Surface | Role |
|---|---|
| SVG skymap | Yale BSC5 all-sky background; curated ∪ outer-AOI ranked overlay; dual red outlines; wheel zoom / drag pan |
| Progenitor ranking | Offline inventory + enrich-replay; CandidateScore v1.1; optional Grok scoring when cached or keyed |
| Subscribe to events | Open access + refresh tokens → /ws/subscribe; honesty labels preserved |
| Replay scenarios | Galactic CCSN, IceCube-170922A and siblings under data/cache/ |
| Actions / voice | LCOGT / ToO / GCN draft builders; optional Grok Voice mission control |
Stack: FastAPI + Vite/TypeScript, offline progenitor inventory + optional Grok ranking, WebSocket community alerts. Mission UI: frontend/ on port 5173. Local API typically 127.0.0.1:8000. Public demo tunnels via Cloudflare (BREAKOUT_PUBLIC_BASE_URL / scripts/run_public.sh in the developer doc).
Built with Cursor + Grok Bot for the weekend build, planning, and announcer track (Grok Voice when keys allow).
Why Cal Hacks / SpaceXAI
- Clear problem → working demo → measurable surface (skymap, ranking, subscribe).
- End-to-end loop: alert → localization → ranked stars → actionable feed.
- Latency is the product: neutrino lead time becomes follow-up urgency.
- Coordinates on the wire for human observers — not a slideshow.
What’s next
Live channel hardening, broader inventory coverage, and sponsor integrations behind flags that default off until scripts/mvp_gate.sh prints PASS. Deeper index: docs/post-mvp.md. Science judge notes: docs/BREAKOUT_judge_science_QA.md.
Built With
- claude
- css
- cursor
- dockerfile
- grok
- grok-bot
- html
- javascript
- python
- shell
- typescript




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