I've never been very good at sticking to one thing.

I’m Adam, an engineer in Cardiff. Ten years of data platforms, game backends and the infrastructure underneath, plus a long tail of projects nobody asked for. None of it was a plan. It was a series of successful stumbles, each one mostly figured out as I went.
This site is the record of that: what I built, and the specific thing it taught me. Often the mistake rather than the result.
01Where I am now
I'm a Technical Director at Rocket Science, a games consultancy in Cardiff. I'm still hands-on with the engineering, but these days my job stretches well beyond the code.
I help us win the right work, build a culture people genuinely enjoy being part of, and help grow the studio in a way we can actually sustain. The longer I do this, the more convinced I am that the hardest problems aren't technical. It's understanding what clients really need, knowing where to focus our efforts, and giving good people the space and support to do their best work.
I've always enjoyed being dropped into unfamiliar territory, figuring out what matters, and helping people find a way through. These days, that extends beyond individual projects to the wider studio. I'm still an engineer at heart, and I don't particularly want that to change. Being close to the technical work keeps me grounded, and I think it makes me better at the business side of things too.
Games is a great industry to be doing this in. The problems are unusual, the ideas are ambitious, and there's plenty of opportunity to bring in lessons from elsewhere. I'm enjoying having a hand in shaping not just what we build, but the studio we're building around it.
02Crème de la crème
Four of my favourite projects
Software, side projects, and the occasional successful stumble
Sheet 12 of 25
Game server observability for Amazon GameLift Servers
2024 · Platform
The observability system behind Amazon's official GameLift Servers SDKs
Averages hide exactly the frames you care about. Once the timing signals moved to histograms and percentiles the problems were obvious, they'd been sitting there the whole time. On anything latency-sensitive the useful signal is nearly always in the tail. The tick budget taught me the rest. The measurement has to be cheaper than the thing it measures, and cheap on every tick, because a spike from the collector looks just like the bug you were sent to find. Designing for three languages added one more lesson. The code was the easy part. Agreeing what a metric means and keeping that identical across implementations was hard, and as soon as two SDKs disagree the dashboard can't be trusted. Last thing, an SDK nobody can work out how to switch on measures nothing. That's why the docs and the default dashboards got as much attention as the instrumentation.
Sheet 3 of 25
Cheddar
2025-26 · Robotics
A six-wheeled rover that crabs, spins on the spot, and climbs stairs.
I shelved this for the best part of a year over a serial connection. I was set on running it over the GPIO pins, and it worked perfectly in isolation - Pi to ESP32 to drivers to motors and servos - and fell apart every single time it was integrated. I came back a year later, plugged in a USB cable instead, and it worked immediately. Weeks of pain resolved by the most boring option available. Keep it simple, stupid rang very true that day.
Sheet 4 of 25

Grimoire ML
2025 · AI / Web
Natural-language Magic: The Gathering search, as a small fleet of services.
Asking a language model to write search syntax directly is brittle and almost impossible to debug. Putting a structured intermediate representation in the middle turned an unpredictable component into one I could test, the whole query layer could run with no model involved at all. That's what made the results trustworthy. Next time I'd build it first, not last.
Sheet 2 of 25

ScrapKings
2026 · Game
A top-down arcade roguelike about bolting a ridiculous machine together mid-run.
This one is on pause, and I would rather say so than pretend otherwise. The scope grew faster than I could keep up with and the summer of 2026 has been a glorious one. Due to pick it back up in October. Writing the design pillars down before building anything was the best decision on it: driving has to be fun with zero upgrades, behaviours over stat modifiers, readable chaos. Those three lines killed a lot of bad ideas cheaply.
Say hello.
If you’re stuck on something or thinking about starting a project, I’m happy to chat it through.
- Something you're building, or thinking about building
- A problem you're stuck on and want another pair of eyes on
- Anything on this site you want to know more about
- A role or piece of work worth a conversation


