Skip to content
Driftnet

This pageHow the search works, where the data comes from, its honest limits, and who built it.

How it works

SPHEREx is a NASA space telescope that maps the entire sky in 102 infrared colors, from 0.75 to 5 microns. It revisits each part of the sky, so objects that move between visits, like asteroids, comets and distant solar system bodies, show up as dots that change position. We search its public images for them, check each against JPL's catalogs, and publish the evidence.

The pipeline

GitHub Actions · Python pipeline (pipeline/), several runs a day, in parallel shards

  1. Fetch

    Find every SPHEREx Level 2 exposure covering a 0.3° patch in NASA/IPAC's archive (IRSA) and read just that region of each file.

  2. Clean and align

    Subtract the zodiacal-light model and background, mask the pixels SPHEREx flags as unreliable, and put every image on one grid.

  3. Detect

    Measure every source above signal-to-noise 4.5 in every exposure.

  4. Remove the fixed sky

    Drop sources that stay put across visits: stars and galaxies.

  5. Link and fit

    Link sightings across visits into tracks with one steady motion, including SPHEREx's own parallax. Three or more visits make a track; two make an unconfirmed pair.

  6. Vet and score

    Artifact checks (flagged pixels, shape, edges, static sources, brightness across wavelengths) and a rule-based score.

  7. JPL triage

    Ask JPL SBIdent which known bodies were near each visit, as seen from SPHEREx, then refine with Horizons. Within 15″ at every visit is a match.

  8. Orbit and publish

    Fit a preliminary orbit and prediction for what JPL can't explain, then commit the JSON to the repository.

Cloudflare Worker · worker/, the /api the site reads

  1. Serve and re-check

    Serves the published data and re-checks unexplained and unchecked objects against JPL on a schedule.

Vercel · frontend/, this Next.js site

  1. Show the evidence

    Blinks, evidence reports, leads, limits and the sky map, built from the same data.

Honest limitations

Measured by planting simulated objects in real SPHEREx images and running the same pipeline on them.

  • Depth: about AB 17.7. Half of the simulated objects we planted were found down to AB magnitude 17.0–17.7 at 3″/hr, 10″/hr, 30″/hr. Anything fainter is mostly missed.
  • Planet X–like motion can't be detected yet. At 0.3″/hr and 1″/hr, the speeds of a distant planet, the pipeline never found half of the planted objects at any brightness: over a day or two they move less than one 6.2″ pixel, so they look like fixed stars. Finding them needs visits weeks or months apart.
  • Very fast movers are missed too: at 100″/hr the pipeline also never found half of them.
  • False alarms are rare but not zero: 2 in 175.5 deg² of control fields with nothing planted.
  • Coverage is small so far: 1130 deg², 2.74% of the sky, mostly near the ecliptic. Unsearched sky tells us nothing either way.
  • Unexplained is not new. JPL's check looks within 15″ of predicted positions; an object with a poorly known orbit, or a very recent discovery, can be missed. Our orbits usually come from about a day of data, so their predictions are very uncertain.
  • “What is it made of?” is indicative only. A SPHEREx track usually covers a narrow range of wavelengths over about a day, while the asteroid rotates, so most composition answers are low confidence. Points above about 3 µm are often the object's own heat rather than reflected sunlight, and are left out for near-Sun objects. How often it is right
  • The scores are rankings, not probabilities. No object here has been confirmed by another telescope.

The full detection-limits study

Data sources and citations

  • SPHEREx Level 2 images (NASA / JPL-Caltech / IPAC)Every image and measurement on this site.Mission: Doré et al. 2014, “Cosmology with the SPHEREx All-Sky Spectral Survey”, arXiv:1412.4872; Bock et al. 2025, “The SPHEREx Satellite Mission”, arXiv:2511.02985.
  • NASA/IPAC Infrared Science Archive (IRSA)Finding the exposures that cover each patch, and the files themselves.
  • JPL Small-Body Identification (SBIdent) APIWhich known asteroids and comets were near each detection, from SPHEREx's position.
  • JPL HorizonsPrecise predicted positions for the closest known objects; ephemeris links for identified objects.Giorgini et al. 1996, “JPL's On-Line Solar System Data Service”, BAAS 28, 1158.
  • Bus-DeMeo asteroid taxonomy (class mean spectra)The asteroid types each object's SPHEREx colors are compared with in “What is it made of?”.DeMeo, Binzel, Slivan & Bus 2009, “An extension of the Bus asteroid taxonomy into the near-infrared”, Icarus 202, 160.
  • ASTM E490-00a solar spectrumDividing an object's fluxes by the Sun's spectrum to get its reflectance.ASTM International, Standard Solar Constant and Zero Air Mass Solar Spectral Irradiance Tables (2014).
  • JPL Small-Body Database (SBDB)Orbit pages for every identified object (we link to JPL rather than recompute its orbits), and published asteroid types (spec_B, spec_T) to check our composition answers.

Why brightness can change between dates

Each SPHEREx detector sits behind a filter whose color changes from one edge to the other. On different visits, the same star usually lands on a different part of the detector, so it is photographed at a different infrared wavelength. Stars are brighter at some wavelengths than others. When two images were taken at different wavelengths, we say so on the image, and we judge motion by position, not brightness.

What the labels mean

Our pipeline sorts every moving source into one of five groups. We show its label exactly as the pipeline assigned it.

Unexplained
Moves like a real object, but isn't matched to a known one: either JPL's catalog had no match, or the check hasn't completed yet. It could still be a glitch or a gap in the catalogs.
Known object
Matches an asteroid or comet that's already catalogued.
Unconfirmed pair
Only two sightings. That's not enough to confirm anything moved; it is never a detection on its own.
Likely artifact
Probably a glitch in the image rather than a real object.
SIMULATED
A fake object we added to real images on purpose, to test whether our software can find it.

How we test ourselves

We plant fake moving objects, of known brightness and speed, into real images and check how many the pipeline finds. We also run it on patches with nothing planted to count false alarms. These planted objects are always labeled SIMULATED. See the results

Scientific integrity

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. Every image links back to the archive file it came from, and every number in an explanation comes from our measurements.

How we use AI

The plain-language write-ups, “ask about this object” and the natural-language search are written by Meta's Llama 4 Scout model running on Cloudflare Workers AI. The model only sees an object's measured values. Before a write-up is shown, the site checks that every number in it appears in the measurements and that it never calls an object new or discovered; if a check fails, a fixed template is shown instead.

The same model answers the “Ask Driftnet” guide on every page, using only this site's published notes and survey totals, with the same number check. Write-ups can be machine-translated into nine languages by Meta's m2m100 (a translation is shown only if every number in it matches the English) and read aloud by MeloTTS, and questions can be spoken and turned into text by OpenAI's Whisper, all on Workers AI. Each feature has a daily cap and falls back to plain text or the browser's own voice when it isn't available.

Detection, linking, orbit fits and the JPL catalog checks are ordinary code, not AI. We also used AI coding assistants (Anthropic's Claude) to help write and review the code. The team chose the methods and checked the scientific results, including the validation runs on the Limits page.

Glossary

Team and code

  • Armaan: frontend, UI/UX, sky viewer, object reports
  • Bodhi: NASA data research, image analysis, scientific validation, backend and AI

Built for the NASA Space Apps Challenge 2026, “Planet X and SPHEREx”. Everything is open source (MIT), including the pipeline, the published data and the survey runs.