(This used to be a blurb about my work as a product engineer, but I'm taking a creative break right now.
Consider following along with my journey on Instagram!)
Projects
Blog
Making a Game Boy game in 2025
October 16, 2025
Modern SPAs without bundlers, CDNs, or NodeJS
February 13, 2023
Creating a Slack app that uses fewer resources
August 3, 2020
My time at the Recurse Center
December 31, 2019
elm-beam
October 9, 2018
+ 18 more blog posts
Working around Google Calendar sync delays
July 8, 2024
Zero-downtime deploys for Render apps with disk storage
February 26, 2024
Multi 3.0: Codesigning, dynamic libraries, and macOS notifications
July 24, 2023
Typebeat, checkpoint 0.1.0
January 31, 2022
A retrospective on Multi
August 26, 2021
Multi
May 22, 2020
Embed Twitter video
November 15, 2019
Building a tool that leverages Elm's types
April 26, 2019
Inventing options
March 18, 2019
Testing Cmd's in Elm
August 1, 2018
How JSON decoding works in Elm—Part 3
August 29, 2017
How JSON decoding works in Elm—Part 2
July 17, 2017
How JSON decoding works in Elm—Part 1
June 28, 2017
The Core of Erlang
May 2, 2017
Docker as a (workstation) service
July 27, 2016
Becoming a professional learner
June 8, 2016
Using functions to make better abstractions
February 16, 2016
Why I make trivial apps
March 8, 2014
Talks
DJ mixes