Product Manager

Spirit AI Limited

Oct 2019 – Present

  • Responsible for the Character Engine product roadmap and team.
  • Tasked with resource allocation and assignment.
  • Handling client relationships and deliverables.
  • Managing sales and management requirements.

Lead Engineer

Spirit AI Limited

Aug 2016 – Present

  • Responsible for managing a team of 5 people on the Character Engine team.
  • Made architectural decisions. Establishing requirements and coding guidelines.
  • Designed the Character Engine SDK. A multi-platform (Windows, Mac, Linux, Android) C++ library for building expressive character interactions and generative grammar with bindings for C# and Python.
  • Designed a framework for offline Natural Language Understanding with Machine Learning in C++ using Support Vector Machines.
  • Built a high performance context-free grammar system in C++ for generative dialog and character performance.
  • Created demos and integration frameworks in Unity and Unreal Engine for the Character Engine SDK.
  • Integrated Character Engine with numerous technologies, including: Text to Speech, Speech to Text, Online Natural Language Classifiers, Animation Systems, and Video Playback.
  • Met with external clients to determine their requirements and adapt Character Engine to their needs.
  • Spoke about Character Engine at industry conferences and to investors.
  • Managed the CI/CD Jenkins and Azure DevOps environment and release management.
  • Mentored the on-going education of junior engineers.

Technical Lead

Little Invasion Tales

Jan 2016 – Aug 2016

  • Built a Goal Oriented Action Planner (GOAP) with a Futures/Promises extension for character behaviours and decision-making.
  • Created a rule-based query system for context-aware dialog and response.
  • Developed a dynamic story generation system built on top of the rule-based query system which allows for in-game events to be scored, filtered, grouped, and then matched against rules for context-aware narrative.

Senior Software Engineer

Sportsmann Limited

May 2013 – Jun 2015

  • Built an HTML5 game client running on a PHP/MySQL backend.
  • Optimized server infrastructure; cutting costs and improving availability.
  • Created the specifications for a Java-based version of the game client.
  • Created smartphone versions of the game client in Unity (Android/iOS).
  • Built a scalable production backend on a cloud-based Platform as a Service.
  • Built backend processes and map reduce pipelines to handle data processing.

Senior Software Engineer

Venatrack Limited

Jan 2008 – Feb 2013

  • R&D work in Computer Vision and Tracking techniques for sports venues.
  • Built high-performance distributed applications for live production with real-time requirements (28 sources @ 1080p25, minimal buffering, sub 40ms processing per frame).
  • Improved image quality, filtering and optimisation of volumetric 3D player generation, player identification, and tracking.
  • Created a 2D tracking system for data filtering in 3D tracking and improved camera diagnostics.
  • Designed and built the cache and streaming server for downstream access to tracking data and game events.
  • Built the clip production application for 3D visualisation and video playback.
  • Created interfaces for core system access from C# applications.
  • Responsible for mentoring new developers.

Lead Developer

Stiki Digital Inc

Mar 2007 – Dec 2007

  • Built front-end code redemption logic and demo sites.
  • Created the back-end for packaging ‘white label’ products with promotional branding.

VP Information Systems and Information Technology

IncaGold PLC

Jan 2005 – Feb 2007

  • Designed and developed the client-side system, game integration, Digital Rights Management, and user authentication for a digital distribution platform.

Director of Development

IncaGold GmbH

May 2002 – Jan 2005

  • Main developer on Model Railroad Simulator.
  • Technical design and implementation on multi-lingual edutainment project.
  • Created a scriptable Game Launcher that became part of every retail release.

Lead Developer

IncaGold Development Ltd

Aug 1999 – May 2002

  • Main developer on Paintball Heroes, a first-person paintball simulation.
  • Provided leadership on two game projects for a team of developers and artists.
  • Contributed to design documents for various games as a technical consultant.
  • Attached to many teams to provide technical assistance to projects during their final stages.
  • Formalised the company’s game packaging and assisted with the release of hundreds of titles.