Skip to main content
Technical Lead / Engine & Environment Lead · 2025 - Present

I hit the bottleneck, realized it was me, and built tools to fix it.

Hiraeth is a survival horror game built in Unreal Engine 5 with a team of six. When production started, every gameplay change routed through me. Instead of accepting that as normal, I built Loom and OmniDex to remove myself from the critical path. The team ships independently now.

Unreal Engine 5C++BlueprintsGAEANanite

Head Empty Studios formed around a question: what would a survival horror game look like if every obstacle had multiple solutions? Not shoot-or-sneak as a binary, but force, technology, and physics as three genuinely distinct paths through every encounter. Six people — artists, a game designer, a sound designer, a narrative designer, and me as technical lead — committed to building that game in Unreal Engine 5. We called it Hiraeth.

Before a single Blueprint was written, we built the map. Over 150 design documents in pre-production — covering every system, every mechanic, every narrative thread. That documentation is how six people stay aligned without constant meetings. Decisions made in October don't get relitigated in February because they exist in writing. It felt like overhead at first. It paid off every week after.

Then production started and the bottlenecks appeared. The first one was me. Designers, artists, and writers on the team had no direct path to Blueprints. Every gameplay tweak, every behavior change, every “can we try this” routed through me. I was the single point of failure. The second bottleneck was asset discovery. Browsing 1,318 files across nested directories inside Unreal's content browser to find anything. No search, no thumbnails for binary files, no way to locate what you needed without interrupting someone else's work.


So I built Loom. Team members describe the behavior they want in plain English and get working Blueprints back — no programmer required. The natural language layer connects directly to the engine. It removed me from every routine scripting request and gave the rest of the team a way to iterate on gameplay without waiting.

And I built OmniDex. A Tauri desktop app that gives the team instant search and thumbnail previews across every project asset — without opening Unreal Engine. Type a name, get results in milliseconds. See what a file actually looks like before you open it. The friction of asset discovery went to near zero.

The pipeline works now. Iteration that used to take days takes minutes. I'm not in the critical path anymore for gameplay changes. The team creates, tests, and adjusts independently while I focus on engine-level systems that actually require low-level access. The vertical slice is in progress. The game is taking shape.