Archive
Browse all 100 documents from Standard.site
March 2026
Dipping a Toe into the Fediverse (Again)
On standing up a GoToSocial instance, migrating to Sharkey when the lack of quote posts became too annoying, and why the fediverse is more fun than I remember.
21 Mar 2026
docsite
Source code for docs.ewancroft.uk — a documentation site for ewan's projects, built with SvelteKit and published via Sequoia.
21 Mar 2026
Life Update: Controlled Chaos and March
15 Mar 2026
Malachite
Import your Last.fm and Spotify listening history to the AT Protocol network using the fm.teal.alpha.feed.play lexicon.
15 Mar 2026
@ewanc26/noise
Generic deterministic value-noise generation. Arbitrary dimensions, multi-octave FBM, multiple colour modes. Zero dependencies, works in browsers and Node.js.
13 Mar 2026
@ewanc26/noise-avatar
Deterministic value-noise avatar generation from a string seed — thin wrapper around @ewanc26/noise, works in browsers and Node.js.
9 Mar 2026
@ewanc26/supporters
SvelteKit component library for displaying Ko-fi supporters, backed by an ATProto PDS.
9 Mar 2026
@ewanc26/pds-landing
Composable Svelte 5 components for an ATProto PDS landing page — terminal aesthetic, live status fetching, zero config to drop in.
8 Mar 2026
nix-config-tools
Rust CLI tools for managing nixos/nix-darwin configurations — now part of the @ewanc26/pkgs monorepo.
7 Mar 2026
@ewanc26/pkgs
Ewan's personal package monorepo — language-agnostic workspace with TypeScript, Rust, and Python packages.
7 Mar 2026
@ewanc26/pkgs
Ewan's personal package monorepo — the canonical home for @ewanc26/tid, @ewanc26/atproto, @ewanc26/ui, and @ewanc26/utils.
7 Mar 2026
There Is Nuance, Nae a Binary
6 Mar 2026
@ewanc26/atproto
AT Protocol service layer extracted from ewancroft.uk — profile fetching, Standard.site documents, Bluesky posts, music/mood status, Tangled repos, and a built-in in-memory cache.
6 Mar 2026
@ewanc26/ui
Svelte UI component library extracted from ewancroft.uk — pluggable layout, card, SEO, and UI primitive components alongside Svelte stores and a multi-theme config system.
6 Mar 2026
@ewanc26/utils
Shared utility functions extracted from ewancroft.uk — date formatting, number formatting, URL helpers, validators, RSS generation, and locale detection.
6 Mar 2026
Silver Fire – Commissions Are Open (and Half Off)
5 Mar 2026
@ewanc26/tid
Zero-dependency, spec-compliant AT Protocol TID generation for Node.js and browsers.
4 Mar 2026
The Stranger in the Mirror
3 Mar 2026
We Were Promised a Future. We Got a Spreadsheet.
i have a mouth and all i can do is scream.
1 Mar 2026
February 2026
I Made a Ko-fi (And I'm a Bit Embarrassed About It)
i have an income now???
24 Feb 2026
atproto-shortlink
A server-side AT Protocol link shortener powered by your Linkat board. No database required.
24 Feb 2026
atproto-snake
Classic Snake with AT Protocol OAuth login and high score saving to your PDS.
24 Feb 2026
bean-dumper
An early Python experiment — unmaintained and kept for historical interest.
24 Feb 2026
bluesky-avatar-updater
Automatically update your Bluesky avatar (and banner) every hour based on the time of day.
24 Feb 2026
bluesky-awoo-bot
A simple Bluesky bot that posts random wolf noises at random intervals. Unmaintained.
24 Feb 2026
bluesky-gradient
Generate 24 sky-gradient images (one per hour) for use as Bluesky avatars or banners.
24 Feb 2026
bluesky-markov
A Bluesky bot that generates and posts Markov chain text based on a source account's posts. Unmaintained.
24 Feb 2026
bluesky-moon-tracker
A Bluesky bot that posts daily moon phase updates with a lycanthropic twist. Unmaintained.
24 Feb 2026
bluesky-ollama
An AI-powered Bluesky bot that uses a local Ollama model to generate posts in the style of a source account.
24 Feb 2026
college-practice-lycanquiz
A VB.NET Windows Forms quiz about werewolf mythology, made as a college practice project.
24 Feb 2026
college-practice-trafficlights
A VB.NET Windows Forms UK traffic light simulator, made as a college practice project.
24 Feb 2026
knotted-docker
A Dockerised Tangled knot server with optional Cloudflare Tunnel routing.
24 Feb 2026
linkat-directory
An alternate SvelteKit frontend for Linkat showing a curated directory of AT Protocol user profiles. Unmaintained.
24 Feb 2026
llm-analyser
Python tool for analysing .docx files and generating essays using a local Ollama model — now part of the @ewanc26/pkgs monorepo.
24 Feb 2026
mastodon-markov
A Mastodon bot that generates and posts Markov chain text based on a source account. Unmaintained.
24 Feb 2026
mc-server
A personal PaperMC Minecraft server in Docker Compose with DuckDNS dynamic DNS and management scripts.
24 Feb 2026
pds-backup
A Bash script for automated, resumable PDS backups via rsync over SSH with change detection and cron scheduling.
24 Feb 2026
platformer-collab
A simple Godot 4 C# platformer made collaboratively.
24 Feb 2026
@ewanc26/svelte-standard-site
SvelteKit library for reading and writing AT Protocol longform content via site.standard.* records — with a complete design system, federated comments, publishing tools, and content verification.
24 Feb 2026
@ewanc26/tangled-sync
CLI tool for syncing GitHub repositories to Tangled with ATProto record publishing — now part of the @ewanc26/pkgs monorepo.
24 Feb 2026
text-to-pixel-image
A Python script that converts a string of text into a pixel art image with per-character colours. Unmaintained.
24 Feb 2026
website
Source code for ewancroft.uk — a personal site powered by AT Protocol, built with SvelteKit 5 and Tailwind CSS 4.
24 Feb 2026
The Machine That Runs Whether I Remember Setting It Up or Not
23 Feb 2026
The Soundtrack of My College Years: A Timeline (Ages 16–20)
Data analysis is fun.
19 Feb 2026
~/.config/nix-config Rewritten: What I Actually Changed (And Why)
With thanks to Isabel.
19 Feb 2026
Sgàil de Uisge
© 2026 Ewan Croft, CC BY-ND-NC 4.0.
15 Feb 2026
~/.config/nix-config: Three Machines, One Config (Sort Of)
why am i doing this to myself? fascination.
13 Feb 2026
Back to NixOS (and completely winging it)
I'm back on NixOS. Still don't really know what I'm doing. Still enjoying it anyway.
10 Feb 2026