Flagship project · beta software

Local AI. No black box.

Hermaeus is a native, local-first AI workspace built to keep models, context, memory, agents, and runtime behaviour visible and under your control.

  • v0.40.0-beta
  • .NET 10
  • Avalonia UI
  • Windows + Linux
  • Local-first
Hermaeus first-run setup screen for choosing local data and AI asset folders
Real UI, local setup, no cloud account bullshit.
LOCAL MODELSREVIEWABLE MEMORYCONTEXT RECEIPTSLOCAL RAGRUNTIME TRACESSUPERVISED AGENTSVOICE WORKFLOWSBENCHMARKINGNATIVE DESKTOPDIAGNOSTICSLOCAL DATA
01Local by defaultLocal models, data, and workflows
02Observable by designContext, citations, traces, and runtime state
03Human in controlSupervised agents and explicit approvals
04Native desktopNo browser shell pretending to be an app

Selected work · Local AI

Start where the systems get interesting.

Hermaeus is the flagship. Around it, the work explores how local models run, retrieve, observe, and behave when the convenient abstractions are removed.

Shared game technology

Chaos System.

A reusable, game-agnostic .NET 10 runtime and deterministic content-generation stack. It grew out of Purrfect Chaos and became independent once Dungeon Dice provided a genuine second consumer.

  • Chaos Engine runtime for rendering, input, physics, audio, animation, and UI
  • Chaos Generator for deterministic meshes, layouts, animation, audio, and descriptors
  • Consumer-owned catalogues and generated output across separate games
  • Headless tests with native backend limits kept visible
Capability / meaning

Chaos owns reusable capability. Games own their characters, rules, catalogues, and world meaning.

See Dungeon Dice, the second consumer

Game · Chaos System consumer

Purrfect Chaos.

A mischievous cat sandbox born alongside Chaos System and now consuming its reusable runtime and generator. The game layer carries the island, characters, progression, and all the cat-specific meaning.

  • Original Chaos proving ground and current consumer
  • Moreton Island-derived world and authored locations
  • Linux and Android direction
  • Quests, progression, economy, and minigames
Birthplace + consumer

Chaos grew here. The cat game now consumes the shared layer while its world rules remain game-owned.

How the boundary works

Game · Chaos System consumer

Dungeon Dice.

A local-first fantasy RPG built on the shared stack: a persistent Living Tavern, recurring characters, generated spaces, and physical dice that resolve the next step of the adventure.

  • Playable Living Tavern vertical slice and bounded crossroads
  • Persistent patrons, reactions, conversations, and campaign state
  • Game-owned dice semantics with physical and resolved outcomes
  • First crypt hook with broader adventure systems ahead
Second consumer

Dungeon Dice makes the Chaos boundary concrete: the shared layer provides capability, while the game owns the tavern, dice, characters, and meaning.

See the shared stack

Tools + experiments

Different domains. Same appetite for the hard bit.

Around the games sit mod management, system monitoring, desktop utilities, simulation, and experiments that started as questions worth following.

Field notes

The build is the interesting bit.

Technical walk-throughs of the decisions underneath the headline: runtime boundaries, retrieval, engine architecture, and experiments that stay inspectable.

Read the field notes

About

I build the bits worth understanding.

Software engineering · systems · local AI · desktop · experimentation

I build software, break assumptions, and disappear down technical rabbit holes until something useful comes back out.

My work spans local AI, developer tooling, native desktop applications, systems engineering, graphics, and experimental projects. I tend to favour understanding and owning the important parts of a system instead of reaching for another dependency by default.

I care about software that can explain itself. Build it. Use it properly. Measure what happens. Find where the assumptions were wrong. Improve it. Repeat. If something only works in a demo, or cannot survive real use and a second look, it is not done.

I’m comfortable working where the abstractions stop being helpful: performance constraints, native runtimes, file formats, rendering, and model behaviour.

Engineering posture

The site is part of the portfolio.

01

Dependency-light

Semantic HTML, modern CSS, and only the JavaScript that earns its place. No framework and no package-manager supply chain.

02

Built for the browser

Fast, direct, and designed to get out of the way. The work should be doing the talking.

03

Accessible under pressure

Keyboard-first navigation, strong focus states, reduced-motion support, semantic structure, and resilient responsive layouts.