Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
NASA Space Apps Challenge 2026 - Planet X and SPHEREx: a public web tool to explore how the infrared sky changes over time using real SPHEREx data.
翻訳待ち
Loading the full README.
Read the full README ↗Find what moves in real NASA SPHEREx infrared images, from asteroids to the search for Planet X.
NASA Space Apps Challenge 2026 · Challenge: Planet X and SPHEREx
A public web tool that lets anyone explore how the infrared sky changes over time using real data from NASA's SPHEREx mission.
Try it live: https://driftnet-sky.vercel.app
Old links (/explore/, /detective/…, /leads/) redirect to their new homes, query strings included.
| Page | What you can do |
|---|---|
| Objects | Every moving object in one list: search, filters and AI search; tabs for Unexplained leads (ranked, with follow-up files), Known (JPL) and Patches of sky to blink. Each object has one report page with its images, orbit in 3D, spectrum and JPL check; each patch shows its movers' tracks in 3D (sky × time). |
| Compare | Any two objects side by side, with both orbits in one 3D view. The pair is in the address, so a comparison is a link you can share. |
| Sky map | Where we have searched, as a flat all-sky map or a 3D globe, with the Planet Nine search region; and every tracked object placed in the solar system in 3D |
| Limits | How faint and how slow an object the pipeline can find, measured with simulated objects |
| About | Pipeline diagram, data sources and citations, honest limitations, team |
/api/objects/{id}/ades.xml | An object's measured positions in the Minor Planet Center's ADES format: a draft for a person to review. The site never submits anything, and simulated objects have no export. |
/api/health | Live status of the NASA IRSA, JPL SBIdent, JPL Horizons and SPHEREx archive connections |
NASA SPHEREx images (public S3 archive)
│ pipeline/ (Python, run offline)
│ find sources → reject stars → link moving tracks → score → render WebP
▼
frontend/public/data/ real field + candidate JSON and images, committed
│
▼
Cloudflare Worker (worker/, TypeScript + Hono) ──► live calls to NASA IRSA TAP,
serves /api/* and the website (frontend/out) JPL SBIdent and JPL Horizons
│ (known-asteroid check, cached 24 h)
▼
Website (frontend/, Next.js static export) ── served by Vercel at driftnet-sky.vercel.app,
which proxies /api/* to the Worker
Pixel processing is too heavy to run inside a Worker, so it happens ahead of time in pipeline/. Everything that depends on today's catalogs, like whether a moving dot is a known asteroid, is checked live by the Worker on each request.
SPHEREx maps the whole sky in 102 infrared wavelength bands and revisits each region over time. Objects that move between observations, like asteroids, comets and distant solar system bodies, reveal themselves by shifting position. Our app has two layers:
Explorer mode: pick a patch of sky, blink between real SPHEREx observations taken at different times, and see what moved.
Detective mode: an image-processing pipeline flags potential moving sources, cross-checks them against known-object catalogs, and shows an evidence report for each candidate: positions, dates, measured motion, signal quality and an AI-generated explanation grounded in the measurements.
We also test the pipeline by injecting simulated moving objects into real images, to measure how faint and how slow an object we can actually recover.
We do not claim to discover Planet X. A candidate that does not match a known object could be an imaging artifact, a measurement error, or an object missing from the catalog. Planet X is our scientific motivation, not a promised result.
| Layer | Tools |
|---|---|
| Frontend | React / Next.js (static export) on Vercel; three.js for the 3D figures, loaded only when one is on screen |
| Backend | Cloudflare Worker (TypeScript, Hono), D1, KV |
| Pipeline | Python, run in GitHub Actions; reads SPHEREx Level 2 images from NASA's public S3 bucket |
| Science | Astropy, Photutils, NumPy, SciPy |
| AI | Workers AI (Llama 4 Scout) for write-ups, "Ask about this object" and natural-language search, every number checked against the measurements; Isolation Forest anomaly ranking ("Most unusual", scikit-learn) with a plain-language reason |
| Data | SPHEREx images from NASA/IPAC IRSA, JPL small-body data |
| Name | Role |
|---|---|
| Armaan | Frontend, UI/UX, sky viewer, object reports |
| Bodhi | NASA data research, image analysis, scientific validation, backend and AI |
| Path | Contents |
|---|---|
worker/ | Cloudflare Worker (Hono): /api/*, live IRSA and JPL queries |
pipeline/ | Python package spherex_px: offline SPHEREx data access, detection, linking, scoring; writes frontend/public/data/ |
frontend/ | Next.js website (static export; deployed by Vercel, and served by the Worker too) |
frontend/public/data/ | Real showcase data built by the pipeline |
scripts/build.mjs | Root build used by Cloudflare: builds the site, type-checks the Worker |
wrangler.toml | Cloudflare Worker configuration |
shared/schema/ | JSON Schema for every API response, exported from the backend models |
shared/fixtures/ | Recorded API responses for real SPHEREx fields |
docs/api-contract.md | Backend ↔ frontend JSON contract |
docs/backend-plan.md | Backend architecture and science approach |
docs/frontend-plan.md | Frontend screens, flows and design system |
docs/build-plan.md | Roadmap: discovery engine, ML, AI features and audit fixes |
Requires Node.js 20 or newer.
This is the beginning of the README. Read the rest at the original. Read the full README ↗