About

Michael smiling into the camera.

My story

I'm a web developer and opera singer currently living in Toronto. 👋

At the moment, I'm a Web Developer on the "dotcom" team at ecobee where I'm helping migrate their ecommerce site from a legacy WordPress codebase to a modern stack that includes React, Gatsby, Netlify, Contentful and Shopify.

Before ecobee, I built and maintained 25+ marketing websites for Coffeeshop Creative and helped them modernize their tech stack and workflow to include static site generation with Gatsby; continuous deployment with Netlify; and performance, SEO and accessibility auditing with Lighthouse.

I enjoy teaching web development to new coders whenever I can and have a 10-video series on YouTube showing how to get started with React and Gatsby. I'm currently working on a new course for newline that walks through how to build an ecommerce website with Next and Shopify.

You can find me on Twitter where I talk about web development and share links to resources I found useful, or on GitHub where I work on a few side projects in the open.

Projects

Where my time goes after work.

  • Gatsby Tutorials

    A community-updated list of 200+ Gatsby.js tutorials with 100+ stars on GitHub. The tutorials are searchable and filterable and include video, audio and written learning resources.

  • Up and Running with Gatsby

    10 beginner-friendly YouTube videos that teach the basics of React and how to get a Gatsby project up and running.

  • Dotfiles

    Configuration files for setting up a comfortable development experience on Mac that include my favourite settings for Neovim, Tmux, Alacritty, Zsh, Git, Homebrew and macOS, plus a script that sets them up on a new Mac with a single command.

Writing

Thoughts about coding.

  1. How ecobee Uses Slack to Report Data Entry Errors to Content Editors

    How the ".com" team at ecobee uses Slack as a CMS alert system.

    Updated 1 month ago

  2. The filter(Boolean) trick

    How to remove empty values from an array.

    Updated 1 year ago

  3. Using GraphQL with Gatsby

    How to write GraphQL queries in a Gatsby project.

    Updated 2 years ago

  4. Adding Content to a Gatsby Project

    The pros and cons of different approaches.

    Updated 2 years ago

  5. Writing CSS-in-JS in a Gatsby Project

    How CSS-in-JS libraries like CSS Modules and Styled Components make it easier to safely add and remove styles.

    Updated 2 years ago

See all posts →Subscribe via RSS →