About

A generalist, on purpose.

I started my career in 2005 writing sync protocols for the Palm and BlackBerry apps that medical residents and surgeons used to log their cases, and I have been shipping software ever since: the BlackBerry event guide for the Vancouver 2010 Olympics, white-label marketplaces for VMware and Cisco, and most recently an enterprise visitor-management platform at Sign In Solutions, where I built authentication, messaging and access-control integrations.

I have worked in Ruby, Python, C#, Java and TypeScript; in Rails, Django, .NET and NestJS; and in every version of Angular from AngularJS to 20, plus React and Vue. That range is what makes me effective with AI coding agents. I can tell when generated code is wrong in any layer, and I know which constraints to write down so that it isn’t.

I live in Meadow Creek, in the Kootenays of British Columbia, and work remotely. Outside of work I am the volunteer developer for our community centre and I build the control system for my own greenhouse.

How I work with AI

Agents get a map

Every repo has an AGENTS.md that routes each kind of change to the doc that governs it, with the patterns to follow and the pitfalls that have already bitten.

Guardrails are mechanical

Typed contracts shared between front and back end, lint rules that enforce the architecture, and one gate — lint, tests and production builds — before anything is called done.

Review is not optional

An agent’s output is my output. I read it, test it and own it. At Sign In Solutions I helped bring that approach to projects, docs and developer environments across the organization.

Skills

AI-assisted delivery

  • Speech-to-text pipelines
  • Agent-ready repos & docs

Front end

  • React
  • Vue
  • AngularJS migration
  • SSR & SEO
  • Accessible, responsive CSS
  • Micro-frontends

Back end & APIs

  • Ruby on Rails
  • Django
  • .NET MVC
  • REST API design

Cloud & DevOps

  • Nx monorepos
  • CI pipelines
  • nginx & Linux
  • Queues: Redis, RabbitMQ, MQTT

Data

  • MySQL
  • SQL Server
  • Oracle
  • TypeORM

Languages

  • TypeScript / JavaScript
  • Ruby
  • Python
  • C#
  • Java
  • SQL
  • C / C++
  • PHP

Mobile & devices

  • Flutter
  • iOS & Android
  • BlackBerry, Palm, Pocket PC
  • Raspberry Pi & IoT

Highlighted: what I use day to day.