Photo of Michael
Hi! I’m Michael and I’m a software engineer in Brisbane, Australia.


Emoji Maker

Create custom emoji

Temperature Blanket

Inspired by knitted/crocheted temperature blankets that have a coloured row for every day of the year

Next.js & MDX w/ code highlighting

How to configure Next.js to render MDX files with code highlighting

Guess the width

Can you drag the div to the right width?


Safe Santa Pictures

A COVID safe photo opportunity

Top Level Await in Node

A commonly requested feature unlocked in Node v14.8.0

The Talking Box

Revealing strengths of adults with severe cognitive disabilities

Create React App Turns Four

A quick overview of what has changed in CRA v4


A custom React hook for the Screen Wake Lock API

Incrementally building the web

A discussion on using Gatsby, Netlify Build Hooks and GitHub Actions to build static, dynamic data driven websites

The Playful Tingtibi Community Birdhouse

Investigating connecting people in remote communities through nature to foster stewardship and conservation of endangered species


Convert *emphasis* to ✨emphasis✨ in markdown documents

Coding on Country

Preliminary explorations with a format to engage young indigenous students from remote communities in design and making

Headless Wordpress with Next.js

A rewrite of Netlify's Headless WordPress JAMstack Template from Nuxt.js to Next.js

Crocodile Language Friend: Tangibles to Foster Children's Language Use

Encouraging language use in individual and social activities beyond the affordances of screen-based systems

Junior Developer Jobs

A collation of recent tweets advertising junior developer positions


CSS mechanical keyboard

I postponed buying a mechanical keyboard by making a CSS one

Christmas e-cards

A 2000s inspired Christmas e-card generator

Firebase authentication

An example app using Firebase authentication with React & Express

Smile on five

A smol facial expression recognition game

Gatsby e-commerce

A Gatsby e-commerce site that uses Stripe integration & Netlify Functions

Australia votes

A collection of 67,284 public tweets published on the night of the 2019 Australian election


A starter template for using Python with Node.js and Websocket

micro:bit demos

A collection of demos for the micro:bit

Split flap

A fun project modelled on a split flap display


Guess the sketch

Can you guess what Magenta's sketch-rnn model is drawing?

Prototype based programming

A discussion on prototype based programming (with a focus on JavaScript) chat

An exploration into displaying chat unconventionally

Git branches

An introductory guide on using branches