top of page

Senior Unity Developer


I’m an application and game developer with over fifteen years of experience in Unity3D and C#.  I’ve developed over thirty mobile apps, web apps, and games for Windows, Mac, iOS, Android, and WebGL.

I have a strong work ethic, I'm organized, self-motivated, and I have excellent problem-solving skills. I'm equally at home working as part of a team or taking on the responsibility for developing an entire project.

I have a well-equipped studio in Portsmouth Harbour where I develop mobile apps, museum interactives, and interactive architectural visualizations.

When I'm not hard at work on a new project, you'll likely find me looking for new places to go walking in the Greater Portsmouth area.

If you need an experienced developer to build your web, mobile, or XR app, or if you need a Unity expert to create a new tool or consult on your project, I'd love to hear from you.


My Areas of Special Interest and Expertise

Indoor and Outdoor Mapping


Many of my projects have involved indoor and outdoor maps in some form and it's become something of a passion for me.

One of my recent, personal projects is a machine learning ​floorplan analysis web app. It takes a 2D floorplan and detects the exterior of the building, the individual rooms, doors, windows, and freestanding features. It then writes the data out as a JSON file.

Another, related tool that I've been working on is an architectural visualization web app. This takes the JSON file from the analyzer as its sole input and uses it to generate a full 3D architectural visualization. The result is perfect for real estate visualizations and facility management apps. The data footprint is tiny since each map is just a few kilobytes of (compressed) text.

I'm also very interested in digital twins. When I worked on a mobile app for Carrizo Plain, I created this topographical, 3D map of the 1000 km² area.

I'm currently creating some new tools to generate more complex digital twins for a range of purposes. Topography and satellite imagery are retrieved from either ESRI or OSM sources.


Data on roads and buildings is pulled from OSM and then my custom tools create fully textured 3D representations of those.

These tools are being developed with two projects in mind:


  • A 3D digital twin of a California museum.

  • A stylized video game project with an open-world environment you can drive around, based on real-world topography, roads, and buildings.

Image Processing


I've needed to do some advanced image processing for a number of projects now. The Getty's Digital Label System, for instance, uses high resolution photos up to 12k x 12k in resolution. At the time, the hardware limit was 4k x 4k.

I developed a tool which could break huge images (beyond 20k x 20k) up into 4k tiles. They are then converted to a platform-neutral compressed format so that they take up as little space as possible. Since they are platform neutral, we could support iOS, Android, and desktops without multiple versions.

At runtime, the interactive loads these compressed tiles and transcodes them into a platform-specific compressed format so that they take very little GPU memory. Now it pieces the tiles back together to make a single, pixel-perfect, seamless image far larger than the hardware could support.

A lot of tricks were required to prevent texture filtering and mipmap generation from leaving visible seams or gaps between tiles. If we did not scale the image, it would not be a problem but we allow the user to zoom in as far as they can. We wanted this zoom to be super-smooth so it was essential to find a way that allowed floating point image scaling without seams.

Subsequently, I would go on to use many of the same tricks and techniques when processing super-high resolution floorplans for a project at Fortive.

bottom of page