Yikes alert: Some of these projects are broken because they're very old, or use technology that has left the building (og Polymer), or on platforms that no longer exist (rip Glitch). I like to think this is an artifact of living on the bleeding edge during my career. I've deleted references to some of them, and left the broken ones I'm emotionally still attached to marked with a โ๏ธโ๐ฅ.
2024
- monica's music morsels
I keep building little websites to help me get better at sight reading, and I've given them a small home.
2021
- reading (notes) rainbow
learn how to read notes on a musical staff
2020
- fingerspell
practice reading ASL fingerspelling at different speeds
- practice your ukulele!
practice chords and strumming on your ukulele
btw I spent most of the year working with the Trevor Project on classifying suicidal ideation, and didn't do any side projects because the world was on fire and I didn't feel creative.
2019
- metronomes in JS
the good, the bad, and the setTimeout.
- input-delay
an experiment to see how annoying is too annoying (for typing)
- audio-delay
an experiment to see how annoying is too annoying (for audio)
- magic sketchpad
draw things with machine learning!
- midi city 2000
we built this city literally out of rock and roll.
- hearing vera molnar
as an ML generated music trio plays, a Vera Molnรกr painting comes to life.
- unicode art gallery
generative unicode art leaning on a wall.
- web midi examples
copy pasteable examples of interacting with the Web MIDI API
2018
- wbr-art
make "art" with the wbr tag.
- #inktober
an experimenta strange thing.
- piano scribe
convert audio to MIDI using Magenta's Onset and Frames moel.- colour-gradient
quickly copy-pastable functions for darkening, lightening or blending colours in JavaScript.- hello tensorflow
super simple intro to tensorflow.js- how browsers position floats
well, how do they?- emoji-garden
generate random emoji gardens- q-learning
a simple reinforcement learning bot that learns how to get to goal2017
- knit-a-stitch
draw a pattern that you want to knit, and get the knitting chart for it!
- โ๏ธโ๐ฅ font-display playground
a small explainer of font-display (with demos)
- โ๏ธโ๐ฅ best bits of the web
demo that Mariko and I used when MC-ing Chrome Dev Summit
- โ๏ธโ๐ฅ tokyo emoji tour
photos of IRL emoji found around Tokyo
- wizzywid
a visual getting-started-tool for HTML, Custom Elements, and Polymer. [play with it]
- to_emoji
a Twitter bot that translates every tweet you send it to emoji. [tweet at it!]
- tiny-care-terminal
a little terminal dashboard that tries to take care of you [omg verge article!]
- <lazy-image>
a custom image element that lets you load resources on demand
- doodle
a pixel doodling board where everything fades away (like a Buddha board)!
- โ๏ธโ๐ฅ picasso
a pretty Google Calendar theme
2016
- font-style-matcher
helps you match the x-heights and widths of a webfont and a fallback font
- fierimas
it's like Guy Fieri's Grocery Games but for holiday presents
- og-emoji-font
emoji font based on the original DoCoMo emoji set
- literally
literally another slide making thingie
- emojillate
pixellate an image into emoji
- sparkle
pixelate and sparkle an image
- frankly
a Polymer dashboard of issues/PRs for any number of GitHub repos
- GitHub canned responses
before GitHub shipped them
2015
- muster
a website that lets you play with overlapping patterns
- is-ie10-dead
a most exciting countdown, now over
- emoji-translate
an app to translate english to emoji
- caturday-post
cat haiku push notifications
- meow-to
a client side URL shortener
- โ๏ธโ๐ฅ emoji-rain
a Polymer element that makes it rain emoji. Like the confetti button to the right
< 2015
- twemojify
a Chrome extension that uses Twitter's twemoji library to fix Chrome's emoji
- cat-dns
a DNS server that resolves everything to cats
- dear sir or madam
a bookmarklet that transforms web pages into ransom notes
- ruby-eh
a bit of ruby that makes your code more Canadian
- diagramaphone
a website that lets you code diagrams, because drawing them really sucks
- piano scribe