Skip to content


  • Arctic Code Vault Contributor
  • Pro




I'm a front-end developer at Upstock; writer and baker (and a whole host of other things I've failed to list) in my spare time, based in the tiny little country of New Zealand.

I'm a computer programmer by trade; my career having started in server-side Java development, though I now spend my days with everything HTML, CSS, and JavaScript.

I also do a bit of coding in my spare time, including a classic Command & Conquer remake project written in Groovy, occassional contributions to the Thymeleaf project, and a whole host of smaller projects, all of which you can find on my GitHub profile which you're probably looking at right now!

I've also delved into several non-coding subjects over the years, the main thing being writing (my website is basically a blog and repository of my stories), and I do pick up a musical instrument (guitar, piano) from time to time.


  1. A dialect for Thymeleaf that lets you build layouts and reusable templates in order to improve code reuse

    Groovy 612 104

  2. Thymeleaf integration plugin for the Eclipse IDE

    Groovy 119 29

  3. A basic implementation of the Thymeleaf templating engine in JavaScript

    JavaScript 35 5

  4. Recreating the original 2D Command & Conquer games

    Java 4 4

2,913 contributions in the last year

Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Mon Wed Fri

Contribution activity

November 2020

Created an issue in ultraq/react-icu-message-formatter that received 2 comments

Remove the <FormattedHtmlMessage> component / escape only values and let original message keep HTML

While <FormattedHtmlMessage> makes HTML elements in strings super convenient, it's too easy to overuse it and accidentally open yourself up to XSS …

262 contributions in private repositories Nov 1 – Nov 27

Seeing something unexpected? Take a look at the GitHub profile guide.

You can’t perform that action at this time.