Case Study
Rubin Anomalies
An anomaly explorer of data from one of the most powerful space telescopes on Earth.
An adjacent technical build focused on live API integration, Python process design, data modeling, and turning unfamiliar data into a queryable workflow.
The Problem
The Rubin Observatory and Zwicky Transient Facility (ZTF) generate massive alert streams: millions of astronomical events per night flagged as potentially interesting transients, variable stars, or anomalies. The ANTARES broker filters and annotates this stream via a live REST API, but the data is only useful if you know how to query it, what fields matter, and how to filter signal from noise.
The goal was to go beyond just making API calls: understand the ANTARES data model deeply enough to write meaningful filters, persist the right subset of fields into a queryable local database, and surface insights through a web interface that makes the data actually explorable.
The Pipeline
What It Demonstrates
- Real third-party API integration: authenticating against a live scientific database, understanding its data model, and writing filters that return meaningful results
- Database design for insight: choosing which fields to persist and how to structure them so queries can surface patterns the raw API does not expose directly
- Real-time pipeline design: continuous stream ingestion decoupled from the serving layer
- Running two independent long-lived processes (consumer + web app) as managed services
- Production deployment with nginx, gunicorn, systemd, and a repeatable deploy workflow