Software Engineer

James Hopgood

I build full-stack products, APIs and data-intensive tools, mostly at the intersection of music and software. Comfortable across the whole stack, from React and TypeScript front-ends to Python services and cloud infrastructure, and happiest shipping software that makes a real workflow faster or a product better.

Selected Work

Data-ingestion platform

Music royalties business · Platform engineer · team of three

A full-stack data-ingestion platform (Django + React) for a music royalties business, now live with the engineering team. I moved a volatile codebase onto a Turborepo monorepo, migrated the frontend off an outdated CRACO build to Vite, and built its CI/CD from scratch: GitHub Actions with self-hosted runners, automated tests, and auto-deployment to AWS EC2, plus a dedicated EC2 test environment. I also prototyped a layout-fingerprinting technique (perceptual-hash style signatures) to identify statement sources where keyword matching fell apart.

DjangoReactTurborepoGitHub ActionsAWS EC2CI/CD

Collaborative desktop app

Music royalties business · Sole designer & developer

A native desktop app (Tauri/Rust + React) in daily use across a team to track incoming client data, replacing brittle spreadsheet and Monday.com workflows. Built as a realtime collaborative workspace on Supabase with a keyboard-driven interface, and owned end to end: from the UX through to a signed, auto-updating on-prem release pipeline. It also exposes a custom MCP server so a local LLM can scan raw data, extract metadata, and update the app directly.

TauriReactTypeScriptSupabaseshadcn/uiMCP

AI reconciliation agent

Music royalties business · Sole designer & developer

An LLM-driven agent that reconciles ingested royalty data against source statement PDFs and captures each statement's full financial movement. I re-architected a brittle regex approach into an autonomous agent with document retrieval and vision-based extraction, and cut running costs by routing each step to the cheapest capable model across OpenRouter. Correctness on non-deterministic output is held with an extensive automated test and evaluation suite.

PythonLangGraphLangSmithOpenRouterAWS S3

Open Source

Create: Fuel and Water Information

Open-source Minecraft mod · 700k+ downloads

An addon for the Create mod that surfaces fuel and water information in-game. Open source, and downloaded over 700,000 times across CurseForge and Modrinth.

JavaMinecraftGradle

pwa

Open-source package · learning project

Headless, type-safe primitives for push-notification subscriptions, service-worker lifecycle and browser permissions. A project built to understand PWAs more deeply, with its own documentation site.

TypeScriptReactNext.jsCloudflare