

Tiled Words
Rotate and rearrange tiles to find clues and rebuild a broken crossword in this daily word puzzle! Tiled Words is currently played by about 2,000 people every day.
Built with Vue, Nuxt, SVGs, and CSS animations


Rotate and rearrange tiles to find clues and rebuild a broken crossword in this daily word puzzle! Tiled Words is currently played by about 2,000 people every day.
Built with Vue, Nuxt, SVGs, and CSS animations


An interactive demo showcasing Cloudinary’s APIs. It increased engagement on their Developers page by 400% and improved the quality of visitor conversions.
Built with Preact


A tiny, zero-dependency web component for comparing two images using a slider. Built with a focus on accessibility, performance, and progressive enhancement.
Built with love

A work-in-progress 2D canvas spaceship shoot-em-up game. (Only works on large screens!)
Built from scratch using JavaScript and HTML canvas


A selection of digital analog clocks that don't exist. Build Your Own!
Built with Preact


A game where you rearrange jumbled letters to find words. The rules are simple, but the gameplay gets tricky.
Built with Svelte


A generative procedural art playground.
Built with SVG, web components, and 11ty