Projects
Finished pieces, builds, and software.
QRLanding
A lightweight PHP redirect service for QR codes. Map tags to destination URLs with a single JSON config file.
HEMA Training Cards
Physical flashcards for drilling Fiore dei Liberi's longsword system. 78 cards covering guards, plays, and techniques.
13th Century Heater Shields
Period-correct heater shields for 13th century reenactment. Combat-ready, historically informed, handmade in the UK.
The Wild Man
An interactive encyclopaedia of Wild Man imagery in medieval art. Browse illuminated manuscripts, carvings, and heraldry featuring the Wodewose across Europe.
Custom Shield Painting
Hand-painted heraldic devices and medieval designs for reenactment shields. New builds or existing blanks.
go-telegram-alert
A Go logger wrapper that forwards log messages to a Telegram chat. Drop-in replacement for the standard logger, ideal for remote monitoring.
GPT-Whisper-captions
Automates subtitle generation by extracting audio from videos, transcribing content via OpenAI's Whisper API, and embedding subtitles back into videos.
OAuth Mailing List API
A Go web app for mailing list sign-ups via Google/Facebook OAuth or direct email submission, with Mailgun-powered verification and delivery.
ip-monitor
A Go application that monitors your external IP address and updates a pinned message in a specified Discord channel whenever the IP changes.
Bespoke Jousting Shields
Handmade 15th century jousting shields for competitive mounted combat and reenactment display.
The Everyday Warrior
A practical guide to building resilience, discipline, and a warrior mindset - available on Amazon in paperback and Kindle.
xlsReader
A forked Go library for reading legacy Excel binary format files. Maintained to apply necessary bug fixes to the discontinued original project.
Shield Blanks & Components
Ready-to-finish shield blanks and components for reenactors. Heater, kite, and round shields in various thicknesses.
WP Simple Newsletter
A WordPress plugin to collect emails with reCAPTCHA v3 verification and send a download link for a book's first chapter.