Tools & Projects
107 projects
Pinned
CLI tool backed by SQLite for saving and recalling work context across repos and machines
Static site generator that builds a personal tools portfolio from GitHub repos and gists
Rust reimplementation of Composer that installs from composer.lock faster than PHP Composer
Self-hosted PHP microblogging platform with SQLite storage, Micropub, and full-text search
Active projects
WordPress Gutenberg block example using server-side rendering with HTMXpress
Python tool that reads Icecast now-playing metadata and posts it to social media
Your local environments, leased like a library book. Work on several tickets at once from a shared pool of dev sites.
Python script that deletes watched Plex episodes and films while keeping favourites
Python Streamlit app that optimises gift packing into boxes under weight and value limits
Experiment to review GitHub pull requests with a Claude Code explanation next to each diff chunk
Docker image with Python and Poetry preconfigured for zero-setup project use
Small, fast listing pages for people selling on eBay: SEO landing pages rebuilt every six hours, buying stays on eBay
Push-to-talk walkie-talkie in the browser. Send a link, hold to talk, hear crackly old-radio audio ending in KRRGGG.
Streamlit app that tracks task velocity and estimates completion progress
Crowd-sourced compatibility tracker for audio plugins running on Linux via yabridge
Bash script that updates and cleans up package managers and dev tool caches on Linux
Python CLI that exports a ChatGPT conversation to Markdown or JSON by conversation ID
An inbox for desktop notifications on elementary OS, so you can turn on Do Not Disturb and triage them later
Personal bug-fix and improvement patches for elementary OS system packages
Bash tools that alert when Jottacloud sync stalls and diagnose sync and backup issues
Shell script that turns Fedora Workstation into a Pantheon desktop with Btrfs snapshots
WordPress plugin that hides trackbacks and pingbacks from the comments list
Command reference for installing Arch Linux with Pantheon desktop and Btrfs snapshot rollback
LSL scripts that switch a Second Life object between a live and radio stream
Shared pre-push hook with npm lint and repository hook support
Claude Code plugin that routes plan, code and review work to the cheapest safe model per project
Firefox extension that moves tabs between browser windows via a right-click context menu
PHP error and exception handler that groups and stores errors via pluggable storage
WordPress plugin that redirects users after login by role and adds a WP-CLI super admin toggle
Bundlephobia-style install size explorer for PyPI packages and their dependencies
Devbox plugin that installs and runs Mailpit, an SMTP testing server with a web UI
Open, hackable ZIP container format specification for archiving FLAC albums with synced lyrics
MicroPython kiosk app for Pimoroni Presto that fades between photo and poem slides
Bash CLI that runs multiple internal Docker tools on one machine without port conflicts
Python Tkinter desktop app for monitoring your open GitHub pull requests
WordPress plugin that redirects 404s to another site while preserving the relative path
Personal website of Sander van Dragt, including a Godot-exported web app
Elasticsearch utility for VVV, the WordPress local development environment
Archived
Python desktop app that packages a Flask web UI into a native webview executable
Shell script task runner for saving and running project commands, superseded by Just
Bash script that switches system-installed PHP versions per shell session without sudo
Docker Compose proof of concept for WordPress on MariaDB, PHP-FPM and Caddy with a SQLite branch
WordPress plugin, currently non-functional, that groups a post timeline by category
AutoHotkey script that backs up SVN conflicts so a failed merge can be redone
SilverStripe form field that validates a text value is unique via Ajax
SilverStripe module that renders db_descriptions text below form fields
SilverStripe log writer that sends log events to a FogBugz instance via BugzScout
SilverStripe module adding helper functions to reorder fields in a FieldList
SilverStripe module that combines and separates JS/CSS requirements per controller
Vagrant base box that provisions a SilverStripe development environment via shell scripts