Welcome to BigBrotr
BigBrotr is a modular infrastructure for Nostr relay discovery, health monitoring, and event archiving. This post introduces the project, its architecture, and how you can get started.
What We Built
Section titled “What We Built”BigBrotr answers three questions about the Nostr network:
- What relays exist? — across clearnet, Tor, I2P, and Lokinet
- How healthy are they? — RTT, SSL, DNS, NIP-11, NIP-66 health tests
- What events are they publishing? — cursor-based event synchronization
Architecture
Section titled “Architecture”The system follows a diamond DAG dependency structure with five packages:
- models — pure frozen dataclasses, zero I/O
- core — connection pool, database facade, base service
- nips — NIP-11 relay information, NIP-66 health monitoring
- utils — DNS, keys, WebSocket transport
- services — six independent services sharing a PostgreSQL database
Six Services
Section titled “Six Services”Each service runs independently and communicates through the database:
| Service | Purpose |
|---|---|
| Seeder | Bootstrap relay discovery from seed files |
| Finder | Discover relays from NIP-65 events and APIs |
| Validator | Test WebSocket connectivity |
| Monitor | NIP-11 + NIP-66 health checks |
| Refresher | Materialized view refresh |
| Synchronizer | Cursor-based event collection |
Get Started
Section titled “Get Started”Check out the Quick Start guide to run BigBrotr with Docker Compose, or explore the Architecture Overview to understand the design.
The full source code is available on GitHub under the MIT license.