2025

Published TypeScript Coach, a learning resource and reference guide for TypeScript and Node.js. The website is a Next.js application which runs the TypeScript compiler directly in the browser, and executes the generated JavaScript code within a Web Worker.

work imagework imagework imagework image

The official handbook for TypeScript requires you to copy and paste examples into a TypeScript project, or their web-based playground. I wanted to make a better learning environment which makes it easy to actually play around with the language. I also added deep introspection for types, so you can instantly see code changes reflected in the TypeScript compiler's state.

2024

Published a translation of the Bhagavad Gita that provides word-by-word translations, Sanskrit analysis, audio recitations, and references to associated texts such as the Upanishads. I carefully crafted each translation to be clear and concise, while maintaining accuracy in relation to the original Sanskrit verse.

work imagework image

2023

Worked on some big projects with aluminum extrusions and some serious hardware. Drove a flatbed truck for the first time in my life.

work imagework imagework imagework imagework imagework image

2022

Ran a few education experiments with my JavaScript coding game Spacecode, and collected detailed analytics on usage within a block-randomized study to discover pain points and blind spots.

work imagework imagework imagework image

2022

Created this open source library for controlling Lifx bulbs over the local network, instead of relying on the bulb to connect to a remote server. Not only is this better for security/privacy, the speed at which the bulbs respond to changes is virtually instantaneous.

2021

Became weirdly obsessed with putting QR codes onto physical things, so I could supplement their physical existence with a unique location on the Internet. I learned that QR codes are super cool, super customizable, and much more sophisticated than you might think.

work image

2020

Automated the lights in my apartment with Raspberry Pi cameras, Noon smart switches, and an efficient incremental object detection server written in Python.

work imagework image

2019

In November 2019 I downsized my life and bought a 2019 Ford Transit Connect to have an easier time climbing. I connected two Purple pet mattresses into a 6 foot bed, and built out the first version of the interior with wood and basic power tools.

work imagework imagework imagework image

2018

Created a Menger cube out of gingerbread over the Christmas holidays.

work image

2017

Coauthored a publication on Corneal Confocal Microscopy as part of a UCSF research initiative into automated mosaic generation and image analysis of CCM images.

work imagework image

2017

I built a CNC machine out of a couple Lego Mindstorms NXT kits, and wrote some custom software to control the Lego motors through a JVM running on the NXT controller. I was manipulating a mini dremel cutting tool with some impressive precision on green floral foam.

work imagework imagework imagework image

2016

These days, I'm usually building things with my students at TechLab. Kids get super creative with cardboard and hot glue guns - once you add in the Arduinos and Raspberry Pis, the possibilities for creating exciting and unique things is endless.

work imagework imagework imagework image

2015

I mentored several students for the Silicon Valley Science and Engineering Fair.

work imagework image

2014

Made this butler robot. The platform tends to wobble quite a bit as the robotic arm swings around, so it's not very useful for its original purpose of bringing me coffee in the morning.

work image

2012

I found a touch screen monitor and touch screen driver for $45 in a warehouse of surplus electronics. I attached the screen to the wall through a custom enclosure, and hooked it up to my voice-controlled light system.

work imagework imagework imagework image

I built the user interface myself with a simple Java applet that would make network requests to the light controller.

2011

I published my crude experiment into building physical logic gates with LEGOs, which has led to some very interesting emails over the years. Many people find this project through this BrickExchange post, which led to people making improvements, and a tiny community emerging for a brief period of the early 2010s Internet.

work imagework imagework imagework image

2010

Wrote a Java program to brute force search for the optimal solution in an iOS puzzle game named Drop7.

work imagework image