StageLog (opens in a new tab)
A theatre-logging web app for tracking performances, venues, spending, and ratings. Features magic link authentication, Google Maps venue search, and detailed analytics.
Software I have built, mostly with the help of AI tools like Claude Code. For non-software work, see Projects.
A theatre-logging web app for tracking performances, venues, spending, and ratings. Features magic link authentication, Google Maps venue search, and detailed analytics.
Native Android companion app for StageLog with offline-first architecture, biometric authentication, encrypted local storage, and background sync.
Indefinite Leave to Remain (ILR) is a UK immigration status. This tool analyses case evidence against Home Office guidance using 30+ AI models via OpenRouter, then generates formal PDF assessment reports.
AI-powered document classification pipeline for Subject Access Request bundles. Renders PDFs, runs local OCR, detects document boundaries, and sorts into categories using Claude.
This website. A personal portfolio with living CV, project showcase, blog, and a real-time Now page pulling data from Spotify, Plex, and StageLog.
A Python automation pipeline that scrapes 7 UK job boards, applies per-user hard filters (location, salary, security clearance), then uses a two-stage AI pipeline to score listings against anonymised CV evidence. Strong matches arrive via Telegram.
Classifies 4,358 Instagram accounts from a Meta data export into categories using GPT-4.1 inference on usernames. Custom biographical context in the system prompt doubled location accuracy from 42% to 98%.
A mood-based Simpsons episode recommender. Take a 4-question vibe quiz or search by similarity using TF-IDF scoring, with smart filters for classic seasons and episode types.
A Chrome/Firefox extension for Fastmail with inbox triage, bulk actions, a rules engine for auto-sorting, smart rule suggestions that learn from your actions, and reply templates via JMAP.
Scans Plex media libraries to identify why files cannot Direct Play on specific clients. Uses the Plex API and ffprobe to analyse codecs, containers, and audio tracks across 14,000+ files.
A Flask dashboard for Fastmail inbox analytics. Connects via IMAP, categorises emails by action type, and provides interactive Plotly charts with dark mode and data export.
Syncs Plex watch history to Letterboxd via Tautulli. Exports full or incremental history as Letterboxd-compatible CSV with an interactive rating editor and rewatch detection.
Analyses Instagram message export data with per-sender statistics, sentiment analysis via NLTK, emoji frequency charts, word clouds, and message volume trends over time.
A note on how these were built: I believe in being transparent about AI collaboration. These projects were built using AI-assisted development, primarily with Claude Code. I directed the architecture, design decisions, and requirements, while AI helped with implementation. Each project card shows which tools were involved.