Projects — Citizen Science
IOTA Hub
A serverless platform for the International Occultation Timing Association — a volunteer citizen science organization whose observers time stars blinking out behind asteroids. It replaced an email-based scientific review workflow, cutting the time from observation to published data from months to days.
Why occultations matter
An occultation is one object passing in front of another, blocking its light. When an asteroid crosses in front of a distant star, it casts a narrow shadow that sweeps across Earth — and inside that path, the star blinks out for a few seconds, then returns.
It's a technique built for citizen science. Observatories are fixed to mountaintops, but volunteers with portable equipment set up right in the predicted path of the occultation.
That blink is data. Observers along the predicted path each record the exact moments the star disappears and returns (or doesn't — a "miss" is valuable data, too). Each dataset helps refine the orbital parameters for the asteroid, and with enough data, estimates for its size and even overall shape emerge.
Occultations regularly discover moons around asteroids and reveal single stars to be binaries. The results feed the Minor Planet Center, NASA, and the European Space Agency. Yet for decades, the pipeline from recording to published data ran on email threads and spreadsheets.
Real observations



The system
IOTA Hub is a serverless web application: observation submission, structured scientific review, and delivery of accepted data to downstream archives. I built and maintain it end-to-end — architecture, application code, infrastructure, and CI/CD — developing with Claude Code throughout.
- Frontend
- Astro + Vue
- API
- FastAPI on Lambda
- Data
- DynamoDB + S3
- Delivery
- CloudFront
- Infra
- Terraform + GitHub Actions