Open Source

I have been developing websites since 1996 and have been working with PHP since 2002. I have worked in a variety of settings, ranging from academia, medical school, government departments, and the private sector in the United States and New Zealand. 

I am a very active open-source contributor and advocate for it in almost everything I do professionally. I am a well-known figure in the Silverstripe Slack community as @null and actively contribute to discussions while helping new and experienced members.

My open-source achievements are listed below:


Bootswatcher is a Bootstrap-5 based Silverstripe installer that wraps over 25 different themes from Bootswatch offers a number of free, easy-to-install, and customisable themes fully compatible with Bootstrap 5 out of the box. This project automatically downloads the CSS files for each Bootswatch theme and offers a theme picker accessible within the SiteConfig of your project.

The optional Bootstrap Elements module complements Bootswatcher by adding support for a number of common Bootstrap components, including the Jumbotron, Cards, Carousel, and a Photo Gallery. 

Bootswatcher was used to build this website. It's an excellent way to rapidly kick off development of any Silverstripe project.

  • Open-source software used
  • Bootswatch
  • Bootstrap
  • Silverstripe CMS
  • DNADesign's Elemental

Redis Cache for SilverStripe

Redis Cache for SilverStripe enables Silverstripe to use Redis to store PHP sessions and other cacheable things to greatly enhance performance and reliability in a multi-server setup.

  • Open-source software used
  • Redis
  • Silverstripe


LinkField is a field for managing rich links in Silverstripe, including files, external URLs, email addresses and Internal Pages.  Released 4 years before Silverstripe's own Linkfield released with Silverstripe 5.2, it was a direct inspiration for their work. I volunteered to become a maintainer of the module after the original creator, Gorrie Coe, tragically passed away from leukemia. The module remains online as a tribute to his work

  • Open-source software used
  • GraphQL / React
  • Silverstripe

Silverstripe Matomo

Silverstripe Matomo adds Matomo support to any Silverstripe installation. If your site is serving a content-security-policy with Firesphere's CSP Headers module, this will load the script in a way that avoids violating that policy.

  • Open-source software used
  • Matomo
  • Silverstripe CMS

New Zealand Banks

NZ Banks is a Silverstripe module that loads every publicly registered bank account prefix for each major bank in New Zealand.  This is useful for verifying bank account numbers and matching them with their locations.  The module also performs checksum validation on New Zealand bank account numbers, and does some basic conversions between dollars and cents to facilitate retrieval from database storage

NZ Street Address module for SilverStripe

The NZ Street Address module for SilverStripe provides address lookup capabilities for New Zealand addresses using publicly available data from Land Information New Zealand (LINZ). This module was featured in Supercharge Your Search With Typesense and powers the Address Lookup demo on this website.

Managed Emails

Do you have a bunch of emails to send out to your users whenever they do some specific thing that needs their attention? Centrally manage them in the CMS, and refer to them in your codebase using a lookup label field. Content-manage your subject, message body, from address, and CC/BCC/ReplyTo addresses, with support for variables provided by a DataObject. Supports direct sending, or queuedjobs sending if it's available.

This is a ModelAdmin for centrally managing emails within the CMS:

  • Specify a from address
  • Specify a subject
  • Compose an email body
  • Add additional recipients, in addition to user supplied ones
  • Queue an email to be sent, or configure it to send immediately