Skip to main content

Welcome to BOOM

BOOM (Burst & Outburst Observations Monitor) is a next generation astronomical alert broker written in Rust for processing and filtering real-time survey alerts at scale. What sets BOOM apart from other alert brokers is its modular, scalable, and performant architecture designed to handle high-volume astronomical data streams.

What is BOOM?

BOOM processes astronomical alerts from surveys like ZTF (Zwicky Transient Facility), LSST (Rubin Observatory), and DECam, enriching them with crossmatches from archival catalogs and running user-defined filters to identify objects of scientific interest.

Quick start

Get BOOM up and running in minutes with our quickstart guide

Installation

System requirements and installation instructions for macOS and Linux

Architecture

Learn about BOOM’s modular worker-based architecture

Configuration

Configure databases, Kafka streams, and worker pools

Architecture overview

BOOM’s pipeline is composed of multiple types of workers, each with a specific task:
1

Kafka consumers

Read alerts from astronomical surveys’ Kafka topics and transfer them to Redis/Valkey in-memory queues
2

Alert ingestion workers

Read alerts from Redis/Valkey queues, format them to BSON documents, and enrich them with crossmatches from archival astronomical catalogs before writing to MongoDB
3

Enrichment workers

Run alerts through a series of enrichment classifiers and write results back to MongoDB
4

Filter workers

Run user-defined filters on alerts and send results to Kafka topics for downstream services
Workers are managed by a Scheduler that can spawn or kill workers of each type. Currently, the number of workers is static, but dynamic scaling based on system load is in development.

Key features

  • High performance: Written in Rust for maximum throughput and minimal latency
  • Modular design: Worker-based architecture allows independent scaling of pipeline components
  • Multi-survey support: Process alerts from ZTF, LSST, DECam, and other surveys
  • Flexible enrichment: Crossmatch alerts with catalogs like Gaia DR3, PS1, NED, and more
  • Custom filters: Define and deploy user filters for real-time alert classification
  • Scalable infrastructure: Built on Kafka, MongoDB, and Redis/Valkey for production-grade reliability
  • Monitoring: Integrated Prometheus metrics for observability

Technology stack

BOOM leverages best-in-class technologies:
  • Rust: Systems programming language for performance and safety
  • Kafka: Message broker for alert streaming
  • MongoDB: Document database for flexible alert storage
  • Redis/Valkey: In-memory cache and task queue
  • Docker: Containerized services for easy deployment
  • Prometheus: Metrics and monitoring
BOOM also comes with an HTTP API (under development) which will allow users to query the MongoDB database, define their own filters, and have those filters run on alerts in real-time.

Supported surveys

BOOM currently supports:
  • ZTF (Zwicky Transient Facility): Public and partnership alerts
  • LSST (Rubin Observatory): Vera C. Rubin Observatory alerts
  • DECam: Dark Energy Camera alerts

Next steps

Install BOOM

Set up your development environment

Quick start guide

Process your first alerts

Build docs developers (and LLMs) love