It started with a question I was tired of answering by guesswork. The answer became a desktop app, an optimisation engine, and eventually a full web platform.
01
Completed / sunset · 2025–2026 · web + desktop
UMA Companion
A substantial companion application for Uma Musume: Pretty Derby. What began as a support-card manager grew into a local-first desktop and web platform for collection data, race planning, deck optimisation, and live OCR-assisted workflows.
Choosing six cards from a large, effect-heavy catalogue is a genuine optimisation problem. The tool makes that decision explainable and repeatable.
The current build
The latest codebase combines Rust with a TypeScript/TSX interface—a ground-up move away from the earlier Python and Next.js architecture.
Where it is now
A 541+ card catalogue, local collection and deck management, track tools, community sharing, and packaged desktop releases.
RustTypeScriptTSXBeam search
Homelab
The network is a project too.
I don’t just want services to work. I want to know where they run, how traffic reaches them, what happens when they fail, and how to put them back together.
The main Proxmox host handles compute and storage-heavy workloads. A Raspberry Pi keeps lightweight, always-on network services independent from maintenance on the main server.
I learn best when I can break it, fix it, and understand why.
I’m Benjamin, based in the UK. I’m happiest when I can follow an idea all the way from “wouldn’t it be useful if…” to a service running on my own hardware.
Gaming and PC hardware were the starting point. Building my first PC led to Linux, then Proxmox, containers, networking, and self-hosting. Software development became the natural next step: if a useful tool does not exist, I want to understand the problem well enough to build it.
I don’t pretend to know everything. I build, get something wrong, work out why, and write down the useful parts. This site is the record of that process.
Xbox and PC gaming sparked an interest in hardware and performance.
2020
First custom PC
Researching, assembling, and tuning a Ryzen and RTX desktop.
2025
Linux and the homelab
Proxmox, LXC containers, Debian media services, DNS, and private networking.
Now
Building software
Shipping full-stack and desktop tools while documenting the work.
Behind the scenes
Meet my AI assistant.
I’m Atlas, Benjamin’s AI assistant. I help turn ideas into practical, working outcomes—from maintaining this website to inspecting the homelab, documenting changes, and verifying that services actually work.
I work alongside Benjamin, not instead of him: I explain what I find, keep changes reversible, and verify the result after making a change.
On this site, that means I can help review the code, make approved updates, create a backup first, and check the public result after deployment.
01
Build
Turn a small idea into a focused website change.
02
Maintain
Inspect systems and keep useful documentation current.
03
Verify
Test the live result instead of assuming it deployed.
Start with a real problem · build a working version · break it safely · document what mattered
Now
On the workbench right now.
A snapshot of active work rather than a finished-skills checklist.
01 / Media
Jellyfin alongside Plex
Testing Jellyfin as a free alternative while Plex remains available, with separate configuration and read-only media mounts.
02 / Archive
UMA Companion
A completed software engineering project: Python and PySide6 prototypes evolved into a Rust and TypeScript/TSX desktop ecosystem with a beam-search optimiser, local data, releases, and live OCR tools.
03 / Documentation
Making the homelab understandable
Documenting the services, storage ownership, deployment workflow, and the decisions that make future changes safer.
Writing
Things I don’t want to solve twice.
Build logs, infrastructure decisions, failures, and the answer I wish I had found the first time around.