Work / Engineering practice

From investigation
to working software.

I design systems and write production code. My work combines Unity and C# engineering, applied research and technical leadership to build software that can be maintained, extended and delivered across platforms.

01 / Skeletal data systems

Prepare once.
Use across 3D environments.

I develop systems that turn raw skeletal tracking data into pre-posed 3D data. The processed result can be used consistently across different 3D environments rather than being tied to a single visualisation or renderer.

The pipeline ingests raw skeletal data, resolves it into a usable posed representation and exposes that representation to downstream applications. Separating data preparation from presentation makes the prepared motion data more reusable across environments, tools and experiences.

Conceptual illustration / Data preparation and reuse
  1. InputRaw skeletal data

    Live or recorded sources

  2. PreparationPre-posed 3D data

    A reusable representation

  3. ApplicationDifferent 3D environments

    Tools, playback and presentation

02 / Engineering capabilities

The systems around the experience.

XR & interactive applications

Unity and C# development for virtual, augmented and mixed reality, immersive training and interactive 3D. Work spans prototyping, interaction, evaluation and production delivery.

Frameworks & tooling

Reusable libraries and application foundations that make related systems easier to build and maintain, with attention to performance, stability and developer workflows.

Data & integration

SQLite, WebSockets and REST APIs; data ingestion and application state; integration with live and recorded data sources.

Cross-platform delivery

Standalone and mobile XR, PC XR, Windows, Linux, macOS, mobile and WebGL. Git, Jenkins, CI and CD, build automation, and macOS signing and notarisation support delivery.

Research into production

Technical investigation, prototypes and evaluation that inform implementation decisions and help turn promising concepts into maintainable applications.

Technical leadership

Software architecture, technical planning, task and line management, mentoring and knowledge transfer. Clear communication with engineers, stakeholders and clients supports the work.

03 / Innovation & learning

New capabilities.
Practical questions.

I evaluate emerging technologies through hands-on prototyping and work with technology partners to exchange knowledge, understand platform capabilities and identify useful opportunities.

I keep expanding my technical range when a new language, engine or platform opens up a useful possibility. I’m currently learning Unreal Engine and Kotlin with Jetpack XR.

These are developing capabilities alongside my established Unity and C# practice.

Personal experiments in the Lab

04 / Contact

Let’s talk engineering.

Get in touch about software, immersive systems or applied research.

Get in touch