Side Projects

I make a lot of mostly useless things

From building a Lego model of the lab to making a quilt out of conference t-shirts to building a an entire website, I enjoy making stuff. While a lot of these side projects might be superficially useless to most people, these projects taught me skills like web development, programming with domain experts, and how to survive the incredible frustration of learning new things on my own.

Recently, I have also gotten into the habit of documenting my projects as I go, so you can also check out what I'm currently working on.

My 3D Printed Brain

3D Printing Blender

After a degree in neuroscience, I've always wanted to hold my own brain in my hands. Thanks to an MRI, some research software, and my first foray into Blender, I finally made it happen. (Bonus: the hemispheres are held together with magnets!)

   Read more

Handwired Computer Keyboard

C++ 3D Printing Electronics

When I couldn't find exactly the kind of computer keyboard I wanted, it was a great excuse to design and build my own from scratch (ostensibly as a project for my electronics class). Together with my class partner, I designed the layout, handwired the keyboard, and built the firmware. I also went completely overboard 3D printing the case and all the keycaps. And I wrote way too much documentation along the way.

   Read more

Document Everything


To get into good habits about documenting things I work on, and to avoid Googling the same StackOverflow answers over and over, I made a website to document everything I do. I wanted it to be as easy to maintain as possible; all I have to do is write some Markdown and push it to GitHub.

   Read my docs    View on GitHub

Nuxt Vue.js

I made this website from scratch, too! I wanted to learn a JavaScript framework, and while I was at it, a new static website generator. It was the perfect opportunity to go overboard, including building my own backend to manage publications.

   View on GitHub

Reckless Ham

Python Django Wagtail CMS

It's cookbook-style recipe website (formerly called Lazy Baker) using the Wagtail CMS framework for Django. It was a fun challenge for myself to build the whole thing in a weekend and a week's worth of evenings. I was bad at keeping track of recipes from various cookbooks, websites, and a very poorly organized recipe box. Clearly, the easiest solution to this problem was to build an entire website from scratch.

   Find a tasty recipe    View on GitHub

Jekyll Polymer

HTML JavaScript Jekyll Google Polymer

This project combines the static website generation of Jekyll with the web components framework of Google Polymer to create a full-featured material design blog template.

   View demo    View on GitHub

Suture Score

Python Ruby Matlab JavaScript

Suture Score is an application to provide instant, objective feedback on suturing technique to surgical trainees. To prepare for assessments and surgery, students need as much practice as possible. Using innovative image recognition techniques, Suture Score aims to enhance trainees' practice to improve their suturing skills.

Suture Score was created at the NHS-sponsored TELHack hackathon, where it won first place. It's now being tested for further development and use within the NHS.

   View website

Science Clickbait

Python Django

"Paul Erdös Warned Us About Amino Acids, But Look What's Happening Now."

"These Facts About Surface-Wave Tomography Will Change the Way You Look at Deformations in the Space-Time Continuum Forever."

Tired of ridiculous clickbait titles all over your social media feeds? Confuse your friends and amuse yourself with science-themed clickbait headlines.

Like the joke, this very stupid "artificial intelligence" is basically a bunch of "if" statements to fill in templates. That's what you get for a procrastination project in finals week.

   Make a headline    View on GitHub

VROOM: Vacuum Robot Overcoming Obstacles and Messes


VROOM was a final project for an artificial intelligence course. It is a simulated robotic vacuum cleaner designed to explore its environment, classify the types of obstacles it encounters, and plan an efficient path to clean dirt in expected locations. It makes use of many classical AI algorithms such as A* search and naive Bayes classification.

   View on GitHub



Blurber is a web app to create fake book blurbs. Using the titles and descriptions of the top 300 books in every category on Amazon, this app will generate randomly generate new book blurbs with the power of Markov chains.

Blurber was created with Mustafa Camurcu and Shreyas Mahimkar at HackBeanpot 2015, where it was a finalist.

   Try it    View on GitHub