Building a Decentralized Social Media App with Go and ATProto
summary
Builds a photo‑sharing AppView in Go that ingests the ATProto firehose (JetStream JSON), extracts images, generates timelines with feed generators, and writes likes/comments back into each user’s personal data server (PDS). Code uses the standard Go http library, handles OAuth registration flows, verifies signed JSON‑schema lexicon records, and shows how to resolve a handle to a DID via DNS or the PLC directory. Demo runs live against Bluesky, showing posts and comments propagated.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 0:48ATProto history
- 1:34Authenticated protocol components
- 3:19Personal Data Server ownership
- 4:46Relays and data fire hose
- 5:52Live demo: ATProto fire hose
- 6:13App views in ecosystem
- 7:19Labelers and moderation
- 8:22Feed generators and timelines
- 9:08Handles and decentralized identity
- 10:37Handle resolution to PDS
- 12:43DID documents and PDS location
- 13:45Verifying DIDs and handles
- 14:52ATProto API transition
- 15:34Building app view in Go
- 17:05OAuth in ATProto apps
- 18:12Live demo: gallery app
- 20:43ATProto apps showcase
- 21:51Closing remarks
related talks
43mDesigning Event-driven architectures with AsyncAPI
24mBest Friends Forever (BFFs): Lambda and Go Apps
34mCreating a basic chat app
30mLive
21mBuilding APIs in Go The Stack Without a Framework
55mBuilding a Bank with Go
33mSecure your Go APIs with Decentralised Identity Tokens
53mWeb3 Social and Decentralized Media
