White-label and future-proof by default.
If a decision locks you into a single vendor, a single brand, or a single stack, pick a different decision unless the simplicity is worth the chain.
01 / portfolio, 2026
Software Architect. Shopify Practice Lead, KPS (UK).
02 / background
I'm a software architect based in Hampshire, UK. I've been writing code for about 28 years, and doing it professionally for 15. It started when I told my dad, aged 8, that I wanted to make games for a living, he handed me a Learn Visual Basic in 24 Hours book, and that was that. My first paid website was for my mum's pre-school when I was 15. My first proper job was IT support. I got here by wanting to understand how everything works, and rarely leaving it alone until I did.
My day job is Shopify Practice Lead at KPS, a UK systems integrator delivering e-commerce for high-end brands. Most of what makes that job interesting is the same shape of work as the projects I do in my own time: full-stack architecture, shared tooling, and the scoping and design work that turns a brief into a plan a team can ship. It's just that in my own time nobody's paying.
03 / selected work
A cross-section of e-commerce platforms, firmware, desktop tools, open-source contributions, and the one VB6 thing I wrote as a teenager. Click any card for the full case study.
A Toniebox-shaped physical NFC player for my three-year-old son, Oakley, built on top of Jellyfin. Scan a disc, the living-room TV starts playing what's on it.
A companion for the Arr stack that makes BBC iPlayer a first-class citizen in Sonarr and Radarr, by pretending to be two things it isn't.
A shop/showcase site for my dad's 6502 and amateur-radio PCBs, with a CMS he can actually use, and a fully-functional fake terminal hidden in the menu bar.
A desktop app that adds Xbox Cloud Gaming titles, and the streaming services you actually watch, to your Steam library, with proper artwork.
My first contribution to someone else's open-source project. I was a Java developer who had never written C++ in my life. I picked it up as I went.
A VirtualBox-style front end for the PearPC PowerPC emulator, written in VB6 at 17 because I wanted to run Mac OS X and couldn't afford a Mac.
The first website I was paid to build. I was 15. My mum was the client. Comic Sans was a design decision. It's here on the portfolio as a reminder of where this started.
04 / opinions
A few things I keep arguing for across different clients and different years.
If a decision locks you into a single vendor, a single brand, or a single stack, pick a different decision unless the simplicity is worth the chain.
The measure of a good platform is how often the client has to ring a developer to change something trivial. I'd rather ship a CMS, a settings page, a CLI, or a synonyms table than a ticket queue.
Every manual step is a step someone will eventually skip, forget, or get wrong at 11pm.
The SDK the next team uses matters at least as much as the feature they're using it for.
05 / career
06 / beyond the ide
I like video games, DIY, and the Philadelphia Eagles. I live in Hampshire with my family and the growing constellation of self-hosted services on a Kubernetes cluster under the desk in my study. Most of the recent side-project case studies on this site happened because someone in our house wanted something that didn't exist yet.
My online handle on GitHub, Discord, and most places is Nikorag. It's an old World of Warcraft character name, a play on "Nicaragua", and it stuck. If you found this site via one of those handles, yes, that Nikorag.
Starting in 2026, I began using Claude as a coding agent to assist with areas I've traditionally been weak on. CSS is a big one. I still architect my own projects, make the product decisions, and review anything that comes out. I just often delegate to the agent for tasks I know it can do better than I can, or tasks I could do in my sleep and would rather not. Several of the case-study pages are explicit about where the line sits. I'd rather you knew that up front than found it out in a review thread.