I built a machine that hunts for new binary stars, then tries to kill everything it finds.
An unattended agent that screens unexamined stars from NASA's TESS telescope for eclipsing binaries - statistical vetting, cross-matching against 6 catalogs, and pixel-level source confirmation. Every number on this site comes from the pipeline itself.
16,723 of 872,720 TESS targets examined (1.92%)
The gauntlet
Every dot is a share of the 16,723 targets examined. Pick a stage, or let it play.
See how it works →An eclipse, explained
Illustration of the general pattern, not measured data for any specific star. Every real light curve on this site plots its primary eclipse at phase 0, the same convention used here.
The impostor test
2,226of 2,465 candidates were not confirmed on-target here.
A real survivor: TIC 251898081, TESS sector 84. The dimming centroid sits 0.15 px (3.1 arcsec) from the target. The nearest catalogued neighbour bright enough to cause the dip, TIC 251898060, is 2.48 px away.
The survivors
Glowing ring: mid-eclipse now, approximate, from the fitted ephemeris.
The sky
Equatorial J2000, Mollweide projection: right ascension increases to the left from 0h at the centre. Click a legend entry to hide or show that group; click a point to open its evidence.
The machine is still running
- Run ID
- 20261019-043253
- Status
- Completed
- Runtime
- 55.0 min
- Examined to date
- 16,723
- Survived to date
- 239
Run details - pipeline stages, activity and run history
The pipeline
From raw TESS data to a vetted, written-up candidate
- 01Sample16,723Fresh TIC targetsstratified draw
- 02Fetch10,807TESS light curves-5,916 no usable data
- 03Vet2,608BLS + physical gates-8,199 rejected
- 04Catalogs2,2830/6matches6 catalogs-325 already known
- 05Neighbours2,465116stars in cutoutVariable neighbours--182 contaminated
- 06Pixel239Difference imaging-2,226 not confirmed
- 07Dossier238Written upPDF per star
Latest run
orchestrator_20261019_043253.log
- 16,723
- sampled
- 10,807
- usable
- 2,608
- stat. passing
- 2,283
- novel
- 2,465
- pixel-checked
- 239
- confirmed
Counts are cumulative across every run to date, as of this run.
- Runtime
- 55.0 min
- New targets
- 150
- Stage retries
- 0
- Runs logged
- 1
Latest run activity
Orchestrator decisions, as logged
- F5 build dossiers
Wrote dossiers for 239 confirmed candidate(s) to data/dossiers/.
- F5 build dossiers
finished OK in 0.1 min
- Export ML model metrics to site
finished OK in 0.0 min
- Retrain ML pixel-outcome model
Retrained the pixel-outcome model on every real pixel-check result to date, including this run's. It will be used to score next run's new novel candidates before their pixel check.
- Retrain ML pixel-outcome model
finished OK in 0.1 min
- Rebuild ML training set
finished OK in 0.0 min
- Pixel-level source check
Pixel-check verdicts across all candidates checked to date -> OFF_TARGET: 1179, INCONCLUSIVE: 886, ON_TARGET: 239, UNRESOLVED: 161. 239 confirmed ON_TARGET (dimming centred on this star, not a neighbour). Building dossiers for those.
- Pixel-level source check
finished OK in 3.6 min
- Score novel candidates (ML pixel-outcome model)
Scored this batch's novel candidates with the current pixel-outcome model (trained on prior runs only, so this is a genuine held-out prediction, not the model grading its own homework). Nothing is filtered by this - proceeding to pixel-check every candidate regardless of what the model predicted.
- Score novel candidates (ML pixel-outcome model)
finished OK in 0.0 min
- F4f novelty cross-match (pass 2 of 2, applies contamination)
2283 detection(s) remain NOVEL after the contamination check (24 were relabelled CONTAMINATED). Escalating ALL 2283 of them to the pixel-level check - not just the strongest few by signal-to-noise. The catalog check above only catches a neighbour that is already in a known-variable catalog; it cannot see an unlisted one. Only a pixel-level difference-image check can confirm the dimming is actually centred on this star, so every survivor gets checked.
- F4f novelty cross-match (pass 2 of 2, applies contamination)
finished OK in 0.1 min
- Neighbour contamination check
24 novel detection(s) have a known variable neighbour close enough and bright enough to plausibly be the true source. Re-running the novelty pass so these get relabelled CONTAMINATED before anything goes to the pixel-level check.
- Neighbour contamination check
finished OK in 0.3 min
Runs
From the orchestrator logs
| Run | Started | New | Confirmed | Status | Runtime |
|---|---|---|---|---|---|
| 261019-043253 | 19 Oct 2026, 04:32 | 150 | 239 | Completed | 55.0 min |
Confirmed = total confirmed to date when that run finished. Parsed from the orchestrator logs.