ATProto’s OAuth flow is genuinely complex — users authenticate with their personal data servers, not a central provider, and the multi-step dance to make that work is non-trivial. I kept reimplementing it for every new project (Pollen, Friend Chat, Carte Postale…), so I extracted the bones into a starter kit.
What You Get
A minimal, working foundation: OAuth that works immediately, SQLite-backed session management, pre-built routes for login/callback/logout, and user context that gives you DIDs and pre-configured API clients. The frontend is vanilla HTML/JS — swap in whatever framework you want.
The atmosphere reminds me of the early web, when you could just make things and put them on the internet. This starter kit exists to keep that feeling alive — skip the protocol plumbing, start building the thing you actually care about.