Jetrelay: A high-performance ATproto relay in 500 LOC

13 todsacerdoti 5 5/16/2025, 10:30:31 AM asayers.com ↗

Comments (5)

tedunangst · 6h ago
Unclear what makes this an atproto relay and not a websocket relay.
asayers · 2h ago
The only ATproto-specific part is how clients specify their starting position. They give a timestamp, which refers specifically to the `time_us` field in the messages, which I guess must be an ATproto thing. If jetrelay supported filtering, that would be ATproto-specific too. But you’re right: if you removed backfill support there’d be nothing ATproto- or even websocket-specific about it.
phillipseamore · 15h ago
Great read and interesting implementation. I'm hoping for more like this from Alex in the future.
remram · 14h ago
JetStream? They literally took the name of another CNCF message-queuing project? https://docs.nats.io/nats-concepts/jetstream
wallyqs · 9h ago
Bluesky's project name is 'Jetstream' and NATS.io persistence engine is `JetStream` (camel case), which can be confusing but name not exactly the same.

- NATS JetStream docs: https://docs.nats.io/nats-concepts/jetstream

- Bluesky's 'Introducing Jetstream': https://docs.bsky.app/blog/jetstream