{
"$type": "site.standard.document",
"canonicalUrl": "https://devlog.croft.click/2025/01/30/atproto-struggles",
"description": "Early experiences with the AT Protocol SDK — confusing docs, Python and TypeScript friction, and the learning curve of a new API paradigm.",
"path": "/2025/01/30/atproto-struggles",
"publishedAt": "2025-01-30T16:57:29.000Z",
"site": "at://did:plc:ofrbh253gwicbkc5nktqepol/site.standard.publication/3mlen2qhzrt2s",
"tags": [
"atproto",
"reflection"
],
"textContent": "adapting to atproto\n\nInitial experiences with the AT Protocol as a hobbyist. The API structure is foreign compared to typical REST APIs — XRPC methods, lexicon-based validation, DID resolution, and repository semantics all require a mental model shift. The Python SDK (atproto) was unfamiliar territory despite Python being my primary language. TypeScript SDK (@atproto/api) felt more natural but still required understanding the underlying protocol concepts. Documentation was sparse and confusing at the time — mostly spec documents rather than practical guides. Built initial projects (markov bot, awoo bot, moon tracker) despite the friction, learning the protocol by doing rather than reading.",
"title": "Struggles Adapting to the AT Protocol"
}