<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>devlog</title>
		<description>Changelog and devlog for ewan's projects.</description>
		<link>https://devlog.croft.click</link>
		<atom:link href="https://devlog.croft.click/rss.xml" rel="self" type="application/rss+xml"/>
		<language>en-gb</language>
		<item>
			<title>Performance audit and fixes across all three sites</title>
			<description>Docsite client bundle dropped from 1.3MB to 12KB, devlog layout data optimised, website duplicate fetches eliminated</description>
			<link>https://devlog.croft.click/2026/05/09/perf-audit-fixes</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/09/perf-audit-fixes</guid>
			<pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>tooling</category>
			<category>atproto</category>
			<category>pkgs</category>
		</item>
		<item>
			<title>devlog: fix OG metatags</title>
			<description>OG image URLs were relative — crawlers need absolute URLs. Index page was also missing an OG image entirely.</description>
			<link>https://devlog.croft.click/2026/05/09/og-metatag-fix</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/09/og-metatag-fix</guid>
			<pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
			<category>devlog</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Bismuth: fetch subcommand flag fixes</title>
			<description>Added --frontmatter and --output flags to the fetch subcommand, and bumped to 0.2.4.</description>
			<link>https://devlog.croft.click/2026/05/09/bismuth-fetch-fix</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/09/bismuth-fetch-fix</guid>
			<pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Website: Wheel of the Year seasonal themes with auto-midnight updates</title>
			<description>Colour themes now follow the Wheel of the Year — eight distinct themes for each sabbat, shifting automatically as midnight crosses into a new period.</description>
			<link>https://devlog.croft.click/2026/05/08/wheel-of-the-year-seasons</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/wheel-of-the-year-seasons</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>pkgs</category>
		</item>
		<item>
			<title>Timeline Scroll Reveal Fix</title>
			<description>Every devlog entry was invisible on load — $state on an IntersectionObserver variable caused the effect to disconnect it before it could fire.</description>
			<link>https://devlog.croft.click/2026/05/08/timeline-observer-fix</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/timeline-observer-fix</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>tooling</category>
		</item>
		<item>
			<title>devlog: Dynamic OG image generation with @ewanc26/og</title>
			<description>Each devlog post now generates its own OG image on demand using @ewanc26/og — warm amber on dark, with noise texture.</description>
			<link>https://devlog.croft.click/2026/05/08/devlog-dynamic-og-images</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/devlog-dynamic-og-images</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Website: Support modal spun out to its own page</title>
			<description>Moved the support modal from a footer overlay to a standalone /support route, matching the site's page pattern.</description>
			<link>https://devlog.croft.click/2026/05/08/website-support-page</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/website-support-page</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Website — Animations and Micro-interactions</title>
			<description>Animation foundation with easing tokens, staggered entrances, scroll reveals, and View Transitions API.</description>
			<link>https://devlog.croft.click/2026/05/08/website-animations-microinteractions</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/website-animations-microinteractions</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Website: Seasonal Theme Reset</title>
			<description>The colour theme picker now shows when a seasonal theme is active and lets you lock it in explicitly.</description>
			<link>https://devlog.croft.click/2026/05/08/seasonal-theme-reset</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/seasonal-theme-reset</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>pkgs</category>
		</item>
		<item>
			<title>pkgs: Remove Umami analytics from all packages</title>
			<description>Umami analytics retired — all Umami script tags removed from bismuth-web, malachite-web, jasper-web, opal-web, and croft-click.</description>
			<link>https://devlog.croft.click/2026/05/08/pkgs-umami-retirement</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/pkgs-umami-retirement</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>tooling</category>
		</item>
		<item>
			<title>Real-time Updates via Jetstream Firehose</title>
			<description>Hooking the site up to the AT Protocol firehose for live-updating feeds and dynamic view transitions.</description>
			<link>https://devlog.croft.click/2026/05/08/jetstream-firehose-integration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/jetstream-firehose-integration</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>DNS split toggle and Bitwarden CLI</title>
			<description>Added a split DNS toggle to nix-config and set up Bitwarden CLI (bw) for the EU-hosted vault.</description>
			<link>https://devlog.croft.click/2026/05/08/dns-split-toggle-bitwarden-cli</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/dns-split-toggle-bitwarden-cli</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Devlog Modularisation</title>
			<description>Split the monolithic layout.css and inline page logic into focused modules and components.</description>
			<link>https://devlog.croft.click/2026/05/08/devlog-modularisation</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/devlog-modularisation</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>tooling</category>
		</item>
		<item>
			<title>devlog.croft.click launch</title>
			<description>New changelog site for tracking project updates, published to AT Protocol via Sequoia.</description>
			<link>https://devlog.croft.click/2026/05/08/devlog-launch</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/08/devlog-launch</guid>
			<pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>The Great Astro Rewrite</title>
			<description>Porting the entire site from SvelteKit to Astro for ultimate static performance and a terminal-inspired layout.</description>
			<link>https://devlog.croft.click/2026/05/02/rewriting-in-astro</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/02/rewriting-in-astro</guid>
			<pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>infra</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Opal — Cross-Platform Bluesky Migration</title>
			<description>Convert Twitter, Mastodon, Threads, and Nostr posts to Bluesky with thread splitting and TID-based rkeys.</description>
			<link>https://devlog.croft.click/2026/05/01/opal-cross-platform-migration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/05/01/opal-cross-platform-migration</guid>
			<pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Website — Tangled Integration and Removal</title>
			<description>Added Tangled repository displays, then removed them when the service was no longer needed.</description>
			<link>https://devlog.croft.click/2026/04/29/tangled-removal</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/29/tangled-removal</guid>
			<pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>After Cook</title>
			<description>Apple's CEO transition — cautiously optimistic about what a hardware-focused leader might mean for the ecosystem.</description>
			<link>https://devlog.croft.click/2026/04/27/after-cook</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/27/after-cook</guid>
			<pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
			<category>reflection</category>
		</item>
		<item>
			<title>croft.click Landing Page and Shared Landing UI</title>
			<description>Landing page at croft.click and a shared @ewanc26/landing-ui package for all web packages.</description>
			<link>https://devlog.croft.click/2026/04/27/pkgs-landing-ui-croft-click</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/27/pkgs-landing-ui-croft-click</guid>
			<pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Brain Surgery</title>
			<description>Hydrocephalus shunt surgery on 17 April 2026 — the event, the recovery, and the impact on work.</description>
			<link>https://devlog.croft.click/2026/04/22/brain-surgery</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/22/brain-surgery</guid>
			<pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
			<category>personal</category>
			<category>health</category>
		</item>
		<item>
			<title>Bismuth — Document to Markdown Converter</title>
			<description>Converts site.standard.document records to Markdown with math and code highlighting.</description>
			<link>https://devlog.croft.click/2026/04/22/bismuth-document-converter</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/22/bismuth-document-converter</guid>
			<pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Moon Tracker — Rust Rewrite</title>
			<description>Rewrote the moon phase bot from TypeScript to Rust using atrium-rs.</description>
			<link>https://devlog.croft.click/2026/04/14/moon-tracker-rust-rewrite</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/14/moon-tracker-rust-rewrite</guid>
			<pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
			<category>infra</category>
		</item>
		<item>
			<title>Jasper — Instagram to Grain/Spark Converter</title>
			<description>Full OAuth flow for importing Instagram posts to AT Protocol as Grain/Spark records.</description>
			<link>https://devlog.croft.click/2026/04/14/jasper-instagram-converter</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/14/jasper-instagram-converter</guid>
			<pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Sifa Professional Profile Scripts</title>
			<description>Scripts for populating and maintaining the Sifa professional profile on AT Protocol.</description>
			<link>https://devlog.croft.click/2026/04/11/sifa-profile-scripts</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/11/sifa-profile-scripts</guid>
			<pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Four Days with Letta Code</title>
			<description>Started using Letta Code — a persistent coding agent with memory. 80 commits across 15 repositories in four days.</description>
			<link>https://devlog.croft.click/2026/04/11/letta-code</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/11/letta-code</guid>
			<pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
			<category>tooling</category>
		</item>
		<item>
			<title>Sigi — Pure Symbolic Stack Language</title>
			<description>A pure symbolic stack language where all syntax is punctuation — no alphanumeric tokens.</description>
			<link>https://devlog.croft.click/2026/04/10/sigi-symbolic-stack-language</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/10/sigi-symbolic-stack-language</guid>
			<pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
			<category>esolangs</category>
		</item>
		<item>
			<title>Numlang and Selenium Feature Expansions</title>
			<description>Expanded numlang with new opcodes and selenium with ritual and offering syntax.</description>
			<link>https://devlog.croft.click/2026/04/06/numlang-selenium-features</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/06/numlang-selenium-features</guid>
			<pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
			<category>esolangs</category>
		</item>
		<item>
			<title>Pre-commit Configs and Nix Flakes Across All Projects</title>
			<description>Added pre-commit hooks and Nix flakes to all 30+ projects for consistent dev environments.</description>
			<link>https://devlog.croft.click/2026/04/03/pre-commit-and-nix-flakes</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/04/03/pre-commit-and-nix-flakes</guid>
			<pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
			<category>tooling</category>
		</item>
		<item>
			<title>GitHub Metadata Package</title>
			<description>Package for fetching and displaying GitHub repository metadata.</description>
			<link>https://devlog.croft.click/2026/03/28/github-metadata</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/28/github-metadata</guid>
			<pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
			<category>pkgs</category>
		</item>
		<item>
			<title>Supporters, Popfeed, and Donation Addresses</title>
			<description>Ko-fi and GitHub Sponsors webhooks, Popfeed review cards, and crypto donation addresses.</description>
			<link>https://devlog.croft.click/2026/03/24/supporters-popfeed-donations</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/24/supporters-popfeed-donations</guid>
			<pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
			<category>pkgs</category>
		</item>
		<item>
			<title>Fediverse — GoToSocial and Sharkey</title>
			<description>Stood up a GoToSocial instance, migrated to Sharkey when the lack of quote posts became too annoying, and why the fediverse is more fun than remembered.</description>
			<link>https://devlog.croft.click/2026/03/21/fediverse-gotosocial-sharkey</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/21/fediverse-gotosocial-sharkey</guid>
			<pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>infra</category>
		</item>
		<item>
			<title>Website — OG Images, Work Page, GitHub Integration</title>
			<description>Dynamic OG images, /work route for Sifa professional profile, and GitHub metadata integration.</description>
			<link>https://devlog.croft.click/2026/03/19/website-og-work-github</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/19/website-og-work-github</guid>
			<pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Nix Config — PDS Hosting and Gatekeeper</title>
			<description>Added PDS and gatekeeper configuration to nix-starter for the server host.</description>
			<link>https://devlog.croft.click/2026/03/14/nix-starter-pds-hosting</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/14/nix-starter-pds-hosting</guid>
			<pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>infra</category>
		</item>
		<item>
			<title>Webfinger and Noise Avatars</title>
			<description>Webfinger well-known routes for fediverse resolution and deterministic noise avatars for AT Protocol fallbacks.</description>
			<link>https://devlog.croft.click/2026/03/13/webfinger-noise-avatars</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/13/webfinger-noise-avatars</guid>
			<pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>Moonstone — Experimental PDS</title>
			<description>Experimental AT Protocol PDS implementation in Rust.</description>
			<link>https://devlog.croft.click/2026/03/08/moonstone-experimental-pds</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/08/moonstone-experimental-pds</guid>
			<pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>infra</category>
		</item>
		<item>
			<title>Website Comm Template</title>
			<description>SvelteKit template with Resend-backed contact form and dark mode.</description>
			<link>https://devlog.croft.click/2026/03/05/website-comm-template</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/05/website-comm-template</guid>
			<pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
			<category>tooling</category>
		</item>
		<item>
			<title>Pkgs Monorepo — Workspace Migration</title>
			<description>Migrated to pnpm workspaces, published @ewanc26/tid to npm, and consolidated packages.</description>
			<link>https://devlog.croft.click/2026/03/04/pkgs-workspace-migration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/03/04/pkgs-workspace-migration</guid>
			<pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
			<category>pkgs</category>
		</item>
		<item>
			<title>Azurite — Experimental Bluesky Client</title>
			<description>Bluesky client with keychain auth, timeline, notifications, search, thread view, and compose.</description>
			<link>https://devlog.croft.click/2026/02/28/azurite-bluesky-client</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/02/28/azurite-bluesky-client</guid>
			<pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Docsite Launch</title>
			<description>Centralised project documentation at docs.ewancroft.uk, published to AT Protocol via Sequoia.</description>
			<link>https://devlog.croft.click/2026/02/23/docsite-launch</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/02/23/docsite-launch</guid>
			<pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Nix Config Rewrite</title>
			<description>Rewrote the entire nix-config around proper Nix modules — replaced custom patterns with the module system, switched to sops-nix, moved desktop to KDE Plasma.</description>
			<link>https://devlog.croft.click/2026/02/18/nix-config-rewrite</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/02/18/nix-config-rewrite</guid>
			<pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Nix Config — Three Machines, One Config</title>
			<description>One flake managing macmini, laptop, and a theoretical server — two booting successfully, one still aspirational.</description>
			<link>https://devlog.croft.click/2026/02/11/nix-config-three-machines</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/02/11/nix-config-three-machines</guid>
			<pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Back to NixOS</title>
			<description>Returned to NixOS on the Dell Inspiron 3501 after a stint with Bazzite — declarative config keeps pulling back.</description>
			<link>https://devlog.croft.click/2026/02/08/back-to-nixos</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/02/08/back-to-nixos</guid>
			<pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Transitioning to Standard.site Lexicons</title>
			<description>Retiring legacy WhiteWind and Leaflet support in favor of the new Standard.site implementation.</description>
			<link>https://devlog.croft.click/2026/01/26/standard-site-migration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/01/26/standard-site-migration</guid>
			<pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Malachite Rename and Feature Expansion</title>
			<description>Renamed lastfm-importer to malachite, added Spotify support, interactive mode, and improved rate limiting.</description>
			<link>https://devlog.croft.click/2026/01/13/malachite-rename</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/01/13/malachite-rename</guid>
			<pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Standard.site and Coordination</title>
			<description>Adopting standard.site lexicons for cross-platform interoperability — why coordination matters more than individual features in the AT Protocol ecosystem.</description>
			<link>https://devlog.croft.click/2026/01/05/standard-site-coordination</link>
			<guid isPermaLink="true">https://devlog.croft.click/2026/01/05/standard-site-coordination</guid>
			<pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Caching, Skeleton Loading, and Happy Mac</title>
			<description>Comprehensive caching to prevent 504s, skeleton loaders for instant page loads, and a Happy Mac easter egg.</description>
			<link>https://devlog.croft.click/2025/12/30/caching-skeletons-happymac</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/30/caching-skeletons-happymac</guid>
			<pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Website — Pronouns and Accessibility Improvements</title>
			<description>Added pronouns to the profile card and improved accessibility across themes.</description>
			<link>https://devlog.croft.click/2025/12/29/pronouns-accessibility</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/29/pronouns-accessibility</guid>
			<pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Joining Jollywhoppers</title>
			<description>Became a member of Jollywhoppers — building atproto-connect, a Fabric Minecraft mod linking the game to AT Protocol.</description>
			<link>https://devlog.croft.click/2025/12/28/jollywhoppers</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/28/jollywhoppers</guid>
			<pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>game</category>
			<category>collab</category>
		</item>
		<item>
			<title>Social Sync — Minecraft Meets AT Protocol</title>
			<description>Minecraft mod syncing player stats, achievements, and sessions to AT Protocol with OAuth and encrypted storage.</description>
			<link>https://devlog.croft.click/2025/12/20/socialsync-minecraft-atproto</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/20/socialsync-minecraft-atproto</guid>
			<pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>game</category>
		</item>
		<item>
			<title>Welcome to Macintosh — Happy Mac Easter Egg</title>
			<description>Hidden Easter egg on the website — click the version number 24 times for a pixelated Happy Mac bouncing across the viewport with the startup chord.</description>
			<link>https://devlog.croft.click/2025/12/17/happy-mac-easter-egg</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/17/happy-mac-easter-egg</guid>
			<pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Giving Up on Rust — A Post-Mortem</title>
			<description>After five Rustlings sessions and countless compiler battles, called it — Rust isn't the right tool for the projects being built.</description>
			<link>https://devlog.croft.click/2025/12/07/rust-post-mortem</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/07/rust-post-mortem</guid>
			<pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate>
			<category>rust</category>
			<category>reflection</category>
		</item>
		<item>
			<title>Implementing a Decimal Clock</title>
			<description>Added a bespoke decimal clock to the footer because base-10 time just makes sense.</description>
			<link>https://devlog.croft.click/2025/12/01/decimal-clock-implementation</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/12/01/decimal-clock-implementation</guid>
			<pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Shortlink Service for AT Protocol</title>
			<description>Shortlink service resolving AT Protocol handles and DIDs with QR codes and domain-aware shortcodes.</description>
			<link>https://devlog.croft.click/2025/11/24/shortlink-service</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/24/shortlink-service</guid>
			<pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Bluesky Ollama Bot</title>
			<description>Experimental bot using Ollama for LLM-generated Bluesky posts.</description>
			<link>https://devlog.croft.click/2025/11/16/ollama-bot</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/16/ollama-bot</guid>
			<pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>PDS DoS Incident</title>
			<description>Accidentally rate-limited the entire PDS by blasting records at the API — the lesson that built Malachite's rate limiting.</description>
			<link>https://devlog.croft.click/2025/11/15/pds-dos-incident</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/15/pds-dos-incident</guid>
			<pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>infra</category>
		</item>
		<item>
			<title>Malachite — Last.fm to Teal.fm Converter</title>
			<description>CLI tool for importing Last.fm and Spotify scrobbles to AT Protocol as Teal.fm records.</description>
			<link>https://devlog.croft.click/2025/11/14/malachite-initial-release</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/14/malachite-initial-release</guid>
			<pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>pkgs</category>
			<category>tooling</category>
		</item>
		<item>
			<title>MusicStatusCard and Masonry Layout</title>
			<description>Music status card with MusicBrainz integration and masonry-style homepage layout.</description>
			<link>https://devlog.croft.click/2025/11/13/music-status-masonry</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/13/music-status-masonry</guid>
			<pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>croft.click Landing Page</title>
			<description>Bought croft.click on a Black Friday sale — currently a 307 redirect to ewancroft.uk while figuring out what to do with it.</description>
			<link>https://devlog.croft.click/2025/11/10/croft-click</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/11/10/croft-click</guid>
			<pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Website — Slug Mapping and Robust Routing</title>
			<description>Configurable slug-to-publication mapping and slug param matcher for clean URLs.</description>
			<link>https://devlog.croft.click/2025/10/27/slug-mapping-routing</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/27/slug-mapping-routing</guid>
			<pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>Completing the Leaflet Migration</title>
			<description>All WhiteWind posts converted to Leaflet format — blog.ewancroft.uk becomes home base, with link rot as the lingering cost.</description>
			<link>https://devlog.croft.click/2025/10/24/leaflet-migration-complete</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/24/leaflet-migration-complete</guid>
			<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Leaflet Migration</title>
			<description>Moving the blog from WhiteWind to Leaflet on AT Protocol — converting existing posts and building the tooling to do it.</description>
			<link>https://devlog.croft.click/2025/10/24/leaflet-migration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/24/leaflet-migration</guid>
			<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Website — Svelte 5 Runes Migration</title>
			<description>Migrated layout and components to Svelte 5 runes and reactive meta handling.</description>
			<link>https://devlog.croft.click/2025/10/19/svelte-5-migration</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/19/svelte-5-migration</guid>
			<pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Website — Inter Font and Semantic Colour Naming</title>
			<description>Added Inter as the primary typeface and switched to semantic colour naming.</description>
			<link>https://devlog.croft.click/2025/10/16/inter-font-semantic-colours</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/16/inter-font-semantic-colours</guid>
			<pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Card UI and BlueskyPostCard</title>
			<description>Homepage redesign with reusable Card UI system and BlueskyPostCard with lightbox and rich text.</description>
			<link>https://devlog.croft.click/2025/10/15/card-ui-blueskypostcard</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/15/card-ui-blueskypostcard</guid>
			<pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>WhiteWind to Leaflet Converter</title>
			<description>Built a conversion tool to migrate blog content between AT Protocol publishing platforms — out of spite for the lack of one.</description>
			<link>https://devlog.croft.click/2025/10/15/whitewind-leaflet-converter</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/15/whitewind-leaflet-converter</guid>
			<pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Building a Modular AT Protocol Service Layer</title>
			<description>Deep integration with the AT Protocol, pulling posts directly from the PDS and introducing a new Card UI system.</description>
			<link>https://devlog.croft.click/2025/10/13/at-protocol-service-layer</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/13/at-protocol-service-layer</guid>
			<pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>Website — v10 Reset</title>
			<description>Nuked ewancroft.uk from orbit and started fresh — the tenth iteration, built from scratch with a clean architecture.</description>
			<link>https://devlog.croft.click/2025/10/12/website-v10-reset</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/12/website-v10-reset</guid>
			<pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Tangled Sync</title>
			<description>Sync tool for mirroring GitHub repos to Tangled with force-sync and AT Protocol testing.</description>
			<link>https://devlog.croft.click/2025/10/11/tangled-sync</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/10/11/tangled-sync</guid>
			<pubDate>Sat, 11 Oct 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Website — Hyperfocus Updates</title>
			<description>Three significant UX improvements shipped in one evening — navigation, content display, and interaction patterns.</description>
			<link>https://devlog.croft.click/2025/09/26/website-hyperfocus-updates</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/09/26/website-hyperfocus-updates</guid>
			<pubDate>Fri, 26 Sep 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>OG Images and Blog Enhancements</title>
			<description>Dynamic OG image generation, reading time, heading underlines, and code block styling.</description>
			<link>https://devlog.croft.click/2025/09/14/og-images-blog-enhancements</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/09/14/og-images-blog-enhancements</guid>
			<pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Link Rot and Eight Iterations of ewancroft.uk</title>
			<description>Eight versions of the website, each leaving dead URLs — the Hugo years, the SvelteKit migration, and building a slug mapping system to fix it.</description>
			<link>https://devlog.croft.click/2025/09/13/link-rot-website-iterations</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/09/13/link-rot-website-iterations</guid>
			<pubDate>Sat, 13 Sep 2025 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>reflection</category>
		</item>
		<item>
			<title>Website — Scroll-to-Top and ToC Improvements</title>
			<description>Scroll-to-top button, mobile progress bar, and improved table of contents layout.</description>
			<link>https://devlog.croft.click/2025/09/07/scroll-to-top-toc</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/09/07/scroll-to-top-toc</guid>
			<pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Howling at the Digital Moon — Wolf-Themed Bluesky Client Concept</title>
			<description>Conceptual design for a lycanthropic Bluesky client — dark theme, moon phase integration, and the scope creep that keeps it theoretical.</description>
			<link>https://devlog.croft.click/2025/09/02/witchsky-concept</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/09/02/witchsky-concept</guid>
			<pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Website — en-GB Localisation</title>
			<description>Added en-GB localisation throughout the site — licence, colour, behaviour.</description>
			<link>https://devlog.croft.click/2025/08/29/en-gb-localisation</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/08/29/en-gb-localisation</guid>
			<pubDate>Fri, 29 Aug 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>did:web ATProto Identity Proof of Concept</title>
			<description>Created @web.ewancroft.uk as a functional did:web identity within the AT Protocol ecosystem — research experiment, not a permanent switch.</description>
			<link>https://devlog.croft.click/2025/08/10/did-web-identity</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/08/10/did-web-identity</guid>
			<pubDate>Sun, 10 Aug 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>M2 to M4 Mac Mini Upgrade</title>
			<description>Upgraded from the M2 Mac Mini to the M4 — better performance, more headroom for self-hosted services.</description>
			<link>https://devlog.croft.click/2025/08/09/mac-mini-upgrade</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/08/09/mac-mini-upgrade</guid>
			<pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Rustlings — First Steps into Rust</title>
			<description>Five Rustlings sessions covering variables through type systems — the enthusiasm, the compiler battles, and the decision to stop.</description>
			<link>https://devlog.croft.click/2025/08/01/rustlings</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/08/01/rustlings</guid>
			<pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
			<category>rust</category>
			<category>learning</category>
		</item>
		<item>
			<title>Website — Dynamic OG Images</title>
			<description>Server-side Open Graph image generation with SvelteKit — fonts that wouldn't load, endpoints that worked in dev but not production, and the eventual working solution.</description>
			<link>https://devlog.croft.click/2025/07/30/dynamic-og-images</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/07/30/dynamic-og-images</guid>
			<pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>The iMac Server</title>
			<description>Attempting to repurpose a 2008 iMac as a server — bricked OS, failed USB installs, and the eventual Mac Mini replacement.</description>
			<link>https://devlog.croft.click/2025/07/28/imac-server</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/07/28/imac-server</guid>
			<pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Linkat Directory</title>
			<description>Linkat-powered user directory with profile banners, descriptions, and metadata display.</description>
			<link>https://devlog.croft.click/2025/07/27/linkat-directory</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/07/27/linkat-directory</guid>
			<pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Website — Profile Layout Refresh</title>
			<description>Redesigned the profile component from centred business-card layout to banner-integrated design with left-aligned content.</description>
			<link>https://devlog.croft.click/2025/07/26/profile-layout-refresh</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/07/26/profile-layout-refresh</guid>
			<pubDate>Sat, 26 Jul 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>LLM Analyser</title>
			<description>Tool for analysing LLM outputs and responses.</description>
			<link>https://devlog.croft.click/2025/07/17/llm-analyser</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/07/17/llm-analyser</guid>
			<pubDate>Thu, 17 Jul 2025 00:00:00 GMT</pubDate>
			<category>tooling</category>
		</item>
		<item>
			<title>AT Protocol Snake Game</title>
			<description>Browser Snake game with AT Protocol OAuth login and score submission via custom lexicons.</description>
			<link>https://devlog.croft.click/2025/06/19/atproto-snake-game</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/06/19/atproto-snake-game</guid>
			<pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>game</category>
		</item>
		<item>
			<title>Moon Tracker Bot</title>
			<description>Daily moon phase posts to Bluesky with multi-source API and optional Ollama LLM descriptions.</description>
			<link>https://devlog.croft.click/2025/06/17/moon-tracker-bot</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/06/17/moon-tracker-bot</guid>
			<pubDate>Tue, 17 Jun 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>Self-Hosted Minecraft Server</title>
			<description>Replaced Aternos with a self-hosted server on the M2 Mac Mini — no more queues, full control, direct access.</description>
			<link>https://devlog.croft.click/2025/06/10/mc-server-self-hosted</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/06/10/mc-server-self-hosted</guid>
			<pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate>
			<category>infra</category>
			<category>game</category>
		</item>
		<item>
			<title>Minecraft Server Configuration</title>
			<description>NixOS Minecraft server config with dynamic hardware-based configuration.</description>
			<link>https://devlog.croft.click/2025/06/05/mc-server</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/06/05/mc-server</guid>
			<pubDate>Thu, 05 Jun 2025 00:00:00 GMT</pubDate>
			<category>infra</category>
			<category>game</category>
		</item>
		<item>
			<title>Testing Leaflet</title>
			<description>Evaluating Leaflet as a WhiteWind replacement — subdomain requirements, AT Protocol integration gaps, and early impressions.</description>
			<link>https://devlog.croft.click/2025/05/21/leaflet-testing</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/05/21/leaflet-testing</guid>
			<pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
		</item>
		<item>
			<title>Custom Lexicons and Dynamic Link Board</title>
			<description>Added custom lexicon definitions for status records and replaced static links with a dynamic link board from AT Protocol.</description>
			<link>https://devlog.croft.click/2025/05/12/lexicons-dynamic-links</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/05/12/lexicons-dynamic-links</guid>
			<pubDate>Mon, 12 May 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>Collaborative Platformer</title>
			<description>A collaborative 3D platformer game built with Godot.</description>
			<link>https://devlog.croft.click/2025/05/02/platformer-collab</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/05/02/platformer-collab</guid>
			<pubDate>Fri, 02 May 2025 00:00:00 GMT</pubDate>
			<category>game</category>
		</item>
		<item>
			<title>My Journey to NixOS</title>
			<description>Adopting NixOS on the Dell Inspiron 3501 — from macOS user to declarative Linux config, the learning curve, and what actually clicked.</description>
			<link>https://devlog.croft.click/2025/04/20/nixos-journey</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/04/20/nixos-journey</guid>
			<pubDate>Sun, 20 Apr 2025 00:00:00 GMT</pubDate>
			<category>infra</category>
		</item>
		<item>
			<title>Migrating the Site to SvelteKit</title>
			<description>Rebuilding the website from scratch using SvelteKit for better performance and a more modern development experience.</description>
			<link>https://devlog.croft.click/2025/04/08/migrating-to-sveltekit</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/04/08/migrating-to-sveltekit</guid>
			<pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate>
			<category>website</category>
			<category>tooling</category>
		</item>
		<item>
			<title>Reverse Engineering an Apple Shortcut</title>
			<description>Deconstructed dame.is's dynamic avatar Apple Shortcut and rebuilt it as a Python automation — hourly profile image updates via AT Protocol.</description>
			<link>https://devlog.croft.click/2025/02/23/apple-shortcut-reverse-engineering</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/02/23/apple-shortcut-reverse-engineering</guid>
			<pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>tooling</category>
			<category>python</category>
		</item>
		<item>
			<title>Avatar Updater Bot</title>
			<description>Automatically updates a Bluesky profile avatar on a schedule with optional banner updates.</description>
			<link>https://devlog.croft.click/2025/02/21/avatar-updater</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/02/21/avatar-updater</guid>
			<pubDate>Fri, 21 Feb 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>Gradient Profile Banner Generator</title>
			<description>Generates gradient profile banners for Bluesky users with custom sizing and grain effects.</description>
			<link>https://devlog.croft.click/2025/02/20/gradient-generator</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/02/20/gradient-generator</guid>
			<pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>PDS Backup Tool</title>
			<description>CLI tool for backing up AT Protocol PDS repositories.</description>
			<link>https://devlog.croft.click/2025/02/19/pds-backup</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/02/19/pds-backup</guid>
			<pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>infra</category>
		</item>
		<item>
			<title>Theme System and Multi-Theme Support</title>
			<description>Theme toggle with multiple colour themes, persisted via localStorage, later expanded for WCAG 2.1 AA compliance.</description>
			<link>https://devlog.croft.click/2025/02/03/theme-system</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/02/03/theme-system</guid>
			<pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate>
			<category>website</category>
		</item>
		<item>
			<title>Struggles Adapting to the AT Protocol</title>
			<description>Early experiences with the AT Protocol SDK — confusing docs, Python and TypeScript friction, and the learning curve of a new API paradigm.</description>
			<link>https://devlog.croft.click/2025/01/30/atproto-struggles</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/01/30/atproto-struggles</guid>
			<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>reflection</category>
		</item>
		<item>
			<title>AT Protocol Website Rewrite</title>
			<description>Replaced static HTML with a dynamic AT Protocol-powered frontend fetching data from the PDS.</description>
			<link>https://devlog.croft.click/2025/01/27/atprotocol-website-rewrite</link>
			<guid isPermaLink="true">https://devlog.croft.click/2025/01/27/atprotocol-website-rewrite</guid>
			<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>website</category>
		</item>
		<item>
			<title>Bluesky Markov Chain Bot</title>
			<description>Ported the Markov chain bot to Bluesky with configurable character limits.</description>
			<link>https://devlog.croft.click/2024/06/09/bluesky-markov-bot</link>
			<guid isPermaLink="true">https://devlog.croft.click/2024/06/09/bluesky-markov-bot</guid>
			<pubDate>Sun, 09 Jun 2024 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>Awoo Bot — Wolf Sounds on Bluesky</title>
			<description>Bot that posts wolf sounds to Bluesky with variable delay and nocturnal probability weighting.</description>
			<link>https://devlog.croft.click/2024/05/19/awoo-bot</link>
			<guid isPermaLink="true">https://devlog.croft.click/2024/05/19/awoo-bot</guid>
			<pubDate>Sun, 19 May 2024 00:00:00 GMT</pubDate>
			<category>atproto</category>
			<category>bots</category>
		</item>
		<item>
			<title>Mastodon Markov Chain Bot</title>
			<description>First bot — a Markov chain text generator for Mastodon.</description>
			<link>https://devlog.croft.click/2024/03/02/mastodon-markov-bot</link>
			<guid isPermaLink="true">https://devlog.croft.click/2024/03/02/mastodon-markov-bot</guid>
			<pubDate>Sat, 02 Mar 2024 00:00:00 GMT</pubDate>
			<category>bots</category>
		</item>
	</channel>
</rss>