{
"path": "/posts/everyday-calendar",
"site": "at://did:plc:ephkzpinhaqcabtkugtbzrwu/site.standard.publication/3mdogbputbg2m",
"$type": "site.standard.document",
"title": "An every day 'Every Day Calendar'",
"description": "|",
"publishedAt": "2026-02-15T07:56:20.000Z",
"textContent": "> You can skip ahead to making your own, if you like!\n\nA long while ago I splashed out on an Every Day Calendar. I loved the idea of taking pride in routine, I adored its beautiful & simple _physical_ interface for that, and Simone Giertz's videos sparked joy every time I saw them, so backing her kickstarter was a hard choice _not_ to make.\n\nMy one reservation though, was that it missed an online component — I wanted it to be truly _every_ day, not just the ones when I was at home. But I like hardware hacking, and knew Simone was releasing all the code for the calendar (😍), so figured I'd be able to make that happen _somehow_. The spark of inspiration didn't come though, and I happily enjoyed the physical calendar on the wall in my office.\n\n…until this January, when I discovered the lovely goals.garden site — Sri had clearly been inspired by Simone's Every Day Calendar too! This was perfect for me; it launched right on the new year, while I was abroad travelling with my Dad, so it meant I could start my new years' intentions without my physical calendar _and_ it was built on top of my favourite technology of the moment: ATProto (the tech behind Bluesky).\n\nThis weekend, _gloriously_ timed with Sri's fresh improvements to goals.garden, I finally put together all the pieces I needed to internet-enable my Every Day Calendar! It ended up being simple enough that I bet you could do it too.\n\nBuilding on ATProto\n\nBuilding in the ATProto ecosystem is _fun_. You entirely own your own data, so there are no developer accounts with large companies to register for, or API limits or restrictions on what you can do. Sri built the goals.garden site on ATProto, so it stores little data records on the account _I own_ to track my daily completions. I can edit those records directly, delete them, add to them however I like, and goals.garden displays what it finds — instant interoperability.\n\nIn fact this flexibility was the spark that meant this could happen at all: I needed the data in a specific format to suit the excellent microcosm APIs and the _tiny_ processor I added to my calendar… so I just edited my own records to include the AT URI I needed. I didn’t need permission from anyone else to do that, or to take time on coordinating when I wanted to experiment. When it worked, I reached out to Sri to find out if he'd be kind enough to add these same attributes to his app. He was! (Thank you Sri!)\n\nGet making\n\n!The inside of my Every Day Calendar, with a QT Py ESP32-S3 microprocessor soldered into four of the existing pads on the circuit board\n\nThis is the entirety of the physical changes I made to my calendar. You’ll need a soldering iron, a pair of wire-strippers, an Adafruit QT Py ESP32-S3 (£12) and _half_ a Qwiic/Stemma QT cable (£1).\n\nYou can follow the codebase’s guide to solder things up, flash the firmware, and get your calendar sync’d up.\n\nDo let me know how you get on! I’ve a busy life at the moment (more on that soon), but I’ll do my best to help you if you’re having trouble.\n\nHuge thanks to Simone for the hardware, Sri for the website, Momin for fun firmware improvements, Microcosm for their excellent APIs, the ATProto team, and the thousands of engineers who built the hundreds of open source libraries this is built upon.",
"canonicalUrl": "https://www.byjp.me/posts/everyday-calendar"
}