ab astris
// from the stars

We are building a validation engine for astronomical signals.

Hello! We are building an engine and pipeline to examine deep space signals with the hopes of finding interesting anomaly. We have just completed Phase 1 - finding AAVSO verified new variable stars and ExoFOP transit candidates.

Phase 12024–2026 · delivered

Verified discoveries from TESS photometry

We built a pipeline in Python that detects and classifies periodic variables (Lomb-Scargle) and transit candidates (Box Least Squares) in TESS photometry. Candidates pass through a multi-stage physical rejection cascade; then a manual review is the final gate.

Latest VSX catalog submissions
NameTypePeriodSectorsRecord
TIC 181428113BY+UV0.4064 d4VSX ↗
TIC 8719504DSCT0.0572 d3VSX ↗
TIC 49647726DSCT0.0461 d1VSX ↗
TIC 458381402DSCT0.0544 d4VSX ↗
Community TOIs on ExoFOP
TIC 272230783Ultra-short-period candidate0.7912 dExoFOP ↗
Phase-folded light curve · VSX submissionTIC 181428113 · P = 0.4064 d
How the pipeline works
DATATESS photometry, Gaia, and the public catalogs
DETECTPeriod and transit searches across each target's light curve
EXPLAINInstrumental and astrophysical nuisance modelled first, so it can't masquerade as a discovery
VALIDATEThe physical rejection cascade: interpretable filters, every rejection logged
PUBLISHManual review, then submission to VSX and ExoFOP

In simple terms - the software finds repeating patterns in how a star's brightness changes, discards everything with a mundane explanation, and a person checks whatever survives before it is submitted to the catalogs. Finding beautiful light curves emitting from deep space is our favourite part of the process!

STACKPythonFastAPIPostgreSQLReact

The learning curve for engineers - vetting candidates

We are not astronomers or astrophysicists - we built this platform because we love data visualisation and deep space fascinates us. Through immersing ourselves in odd/even plots, 12 cycles and phase plots we have gradually learnt what real variable stars look like - and what is just noise from the cosmos.

signalnuisance modelvalidation cascademanual gatecatalog
Phase 2In developmentBreakthrough Listen

The exciting next step - Breakthrough Listen's public archive

Breakthrough Listen's archive holds roughly 1 PetaByte (PB) of public data. Nearly all searches to date have targeted narrowband drifting tones. But, research published this year (Garrett 2026, MNRAS) argues this treats broadband signatures as noise. This is interesting and just the type of challenge we love!

So our Phase 2 proposal is to ingest data from the BL archive using Rust. The nuisance model (like our exoplanet vetting) uses ON–OFF cadence differencing. Ranking will combine hypothesis-conditioned scores (lensing echoes, anomalous drift, dispersion deviation) with a physics-agnostic scorer. Each mechanism gets its own injection–recovery benchmark.

DELIVERABLEA measured completeness benchmark on public data, extending published narrowband limits. Not a detection claim.
TIMELINE12-week proof of concept.
Planned pipeline
DATABreakthrough Listen open archive; known signals kept as positive controls
INGESTHigh-throughput reader with summary statistics per patch of spectrum
EXPLAINON–OFF cadence differencing separates terrestrial interference from the sky
RANKAnomaly scores, both hypothesis-conditioned and physics-agnostic
REVIEWA ranked queue for human review, and completeness curves per mechanism

In simple terms: instead of searching for one specific kind of radio signal, we're going to score every patch of data by how hard it is to explain, measure how reliably the method recovers test signals we inject ourselves, and publish that measurement.

STACKRustPythonPyTorchArrowParquetCloudflare R2SIGPROC/HDF5PostgreSQL

Collaborate

We would LOVE to find an academic partner to work with us on this - we're engineers not astronomers but we build quickly and test rigorously.

Command Palette

Search for a command to run...