Bookmarks illustration

Own Your Bookmarks, Not the App

ATProto lexicon; PDS-owned records; AppView-gated community lists; web next. The Idea Here’s the itch: I save links everywhere, and every app treats that like a favor I should be grateful for. I don’t want gratitude. I want ownership. So I built bookmarks that live in my PDS, not in some hostage drawer. Lists work like playlists — the same link can sit in Research, Weekend Reads, and Chaos Gremlins at the same time — and everything starts private until I decide otherwise. The lexicon stays deliberately small. If the data can’t walk out the front door with me, I’m not interested. ...

2025-09-07 · 3 min
Arena illustration

AT @ AI: The Arena We Deserve

ATmosphere: AI-friendly protocol for communities There was a time when building a social app meant reinventing the wheel. You had to own the backend, the user accounts, the content format. Then AT Protocol showed up and quietly flipped the script. Suddenly, it’s an open multiverse — think Marvel, but instead of superheroes, you have communities and apps. The rules of physics (protocol, identity, data) are shared. Everything else? Up for grabs. ...

2025-08-25 · 4 min
OAuth

Building End-to-End OAuth for Bluesky: From Cloudflare Workers to iOS

The Big Picture When I set out to build Limit: Social Bookmarks, an iOS client for Bluesky, I initially implemented App Passwords authentication. It worked, but the user experience wasn’t great - users had to navigate to settings, generate an app password, copy it, and paste it into the app. I wanted something better, so I decided to tackle OAuth 2.0. This is the story of building a complete OAuth solution with DPoP (Demonstrating Proof of Possession) support, spanning from Cloudflare Workers backend to a native iOS app. ...

2025-08-22 · 9 min