About Me

In 2010, I discovered that web browsers were actually powerful, portable runtime environments that even had developer tools built in. I have been writing JavaScript, HTML, and CSS ever since then. I love the fast feedback loop of typing code, hitting refresh, and instantly seeing progress.

I dabble in other stacks too, and I am constantly learning new things. Recently, I have worked with:

Web Showcase

Eldrow JavaScript logo CSS logo HTML logo React logo Rust logo WebAssembly logo

Screenshot of Eldrow

A Wordle variant in which the roles are flipped: the computer tries to guess your word. Your goal is to make the computer take as many guesses as possible to figure out your word.

Screenshot of Golinks 2

A Chrome extension that lets you manage keyword-based bookmarks using a launcher interface. It’s like having your own personal URL shortener. Get to all your favorite sites in less than 2 seconds with only your keyboard – no more worrying about cluttering up your bookmarks bar!

JS-Y86 JavaScript logo CSS logo HTML logo Backbone logo Node.js logo

Screenshot of JS-Y86

An online editor, assembler, and runner for Y86, for use with Computer Systems: A Programmer’s Perspective. Many university instructors use JS-Y86 or one of its 64-bit forks in their Computer Architecture courses as an easy-to-use alternative to the programs provided by the textbook.

Binaural Beats JavaScript logo CSS logo HTML logo JQuery logo

Screenshot of Binaural Beats

A Web Audio API experiment that generates binaural beats and five different kinds of noise on the fly to help you focus or jostle your creativity.

CLI Showcase

Keygen Rust logo

A genetic algorithm for keyboard layout optimization. I wrote Keygen to design my custom keyboard layout, RSTHD, which has helped me type faster and avoid repetitive strain injury. For geeks who have gone all the way down the rabbit hole of alternative keyboard layouts and still want more.

The Last Resort JavaScript logo Node.js logo

A way to back up and restore for your 2 Factor Authentication key or other critical information in the event of a disaster by keeping encrypted partial copies with trusted contacts. Use at your own risk!