CascadiaJS 2026 · Notes
← All talks

Building Apps With ATProto

Brittany Ellich · Bluesky · Day 2

Podcast host of Overcommitted.

brittanyellich.com

How We Got Here

The early internet —

Typical timeline for platforms: launch, growth, monetize, maximize.

Enshittification book reference.

Large app platforms use design to trap users — A/B testing, infinite scroll, pull to refresh.

Many large app platforms continue to exist despite this — they're hard to leave! They exist to maximize revenue, not connect people.

It's hard to leave a platform when they own your data; it may leave without you as well (like Google+).

What Is ATproto

The Atmosphere — does for data what open source did for code.

Apps have to be good to keep people using them!

If an app is doing something you don't like, you can just leave without losing anything — data, content, and people are yours to take with you.

How Does It Work

Each user gets their own repo where their data is stored; when they sign in, they get a repo, and a DID.

  • DID — Decentralized ID
  • User gets a handle
  • Handles are DNS records

What lives in repo?

  • record — a piece of JSON, a bit of data
  • blob — binaries

People can make their own thing to render content — it doesn't live in Bluesky. The user is in charge.

  • blacksky — an alternative to Bluesky
  • witchsky — another; adds badges/pronouns, different representation
  • anisota — simplified view

Exploring the Atmosphere

Don't have to worry about auth anymore!?

ATStore — compendium of registered ATproto apps — atstore.fyi

  • Sifa.id — professional identity network
  • Streamplace — open source livestreaming app for video and live-streaming

Get things out easily to multiple destinations.

  • rpg.actor — create an RPG character
  • atmo.quest — connect with folks at events

This is what open social looks like when it actually works.

Referenced

Slides