Skip navigation
About
Writing
Projects
Speaking
Games
Contact
Feed
Writing
September 26, 2024
The Encroaching Darkness Postmortem
November 6, 2022
Getting the Prettier API to Format Code in the Same Way as the CLI
January 25, 2022
Bash Output Verbose Logs While Still Capturing Output
July 20, 2021
How My Team Conducts a Technical Interview
March 7, 2021
A Comprehensive Guide to Building and Packaging an Electron App
February 28, 2021
Calculating the Position of a Game Object Relative to the Camera in Phaser 3
September 24, 2020
Reducing Axe-core File Size: Trie Stored as Nested Arrays
August 28, 2020
Medium
What’s new in Kontra.js v7
August 23, 2020
Custom 404 Page Without a Server
March 3, 2020
Ravaged Space Postmortem
January 19, 2020
Improving Axe-core Color Contrast Performance
October 22, 2019
Detecting Ligature Icons With JavaScript
February 10, 2019
Unit Testing a Vue.js Functional Component that Returns Multiple Root Nodes
December 30, 2018
Tiled AutoMap Auto-Generate Walls
August 16, 2018
Using Fetch to Read JSON with Text Fallback
August 12, 2018
Medium
Making Asteroids with Kontra.js and Web Maker
July 21, 2018
Button vs Checkbox for a Toggle Control
April 9, 2018
Smashing Magazine
Designing For Accessibility And Inclusion
May 16, 2016
Smashing Magazine
Creating A Living Style Guide: A Case Study
January 15, 2016
Smashing Magazine
Styling Web Components Using A Shared Style Sheet