About Me

My Projects


Contact Me

About Me

Hi, I am a software engineer! I enjoy skiing, biking, hiking, and video games. But most of all, I love to code. I am a proficient Android and Javascript web developer (front-end and back-end) and 3D graphics programmer. The challenge of discovering and building amazing UI experiences is what drives me. Developing a UI into a cohesive and intentional experience is incredibly satisfying and I have accomplished this process across many different interface paradigms (Mobile, Web, VR/AR).

No matter the field or technology stack, I strive to learn, grow, and excel to create the best user experiences and most polished products possible!

I am currently building games and working on personal projects after selling Quordle to Merriam-Webster, but I am always on the lookout for any fun new challenges that I can sink my teeth into.


Contact Me

My Projects


I created Quordle at the beginning of 2022 as a fun side project. My friends and I found Wordle to be too easy, so I made Quordle to create a real challenge for ourselves. Quordle's popularity exploded over the next couple months and reached 2 million active daily players. Quordle was even trending on Twitter every single day. It was so fun to see my creation getting played so much and it was very exciting having a side project be used by so many people! (But there were plenty of bug reports to go along with it 😅) Later, Merriam Webster offered to acquire Quordle and the announcement of the acquisition was written about on many news sites: Techcrunch, The Verge, Engadget, BBC, Ars Technica, Kotaku, Techradar. Quordle has been a wild ride and I am excited to see what's next for the word game in the hands of Merriam Webster!

OBS Auto Record

A Windows/Mac application written in C++ and Qt that is designed to automatically start recording specific games in OBS when they are running. The idea of this app was to learn how to use Qt to write a native Windows app as well as recording all of my gameplay automatically so that any fun moment with friends would always be recorded.


A World of Warcraft Classic addon that tracks the precise arrival & departure schedules of boats and Zeppelins in the game and displays them on the Mini-Map and World Map in real-time. I have released it on the CurseForge and it currently has over 30K downloads.

Photo Geotagger

Tagging many photos with the correct geolocation can be quite the hassle (especially if they were taken with a camera that has no geotagging built in). This app makes it easy and quick to tag many photos with geolocation data, and it even supports raw files! This project was also a great way to learn how to create an electron app.

Hacker News Reader Android App

A Hacker News reader app written for Android. The idea of this app was to take advantage of the Firebase api to allow quick and asynchronous fetching of stories/comments/etc. As a result, I use this app as my primary Hacker News reader app because it loads comments much more quickly than any other app. The simplicity of the design is also easy on the eyes and matches the original aesthetic of the Hacker News website. It is currently not on the Google Play Store just yet, but I plan on uploading it once a few more features are completed.


This is simple Mac status bar app that can give driving times between two places. It will track the driving time in a graph so that you can see the historical data for your route. I use it to track my commute and know the best time to leave the office!


This is a small hack to do jello simulation in javascript using spring grid meshes. It works pretty well but the values don't like to be messed with that much at the moment sadly. :/

You can check out the demo or go to the github page directly to see the beautiful sphagetti code!

The current demo simulates a jello cube falling and colliding with a plane and rolling around a bit. The left mouse can also be clicked to "poke" the cube and cause it to wobble around a bit.

I hope you enjoy and I plan to someday fix this up to be faster and much more robust and useful!


Chess playing matchmaking website written in Node.js, MongoDB, and Three.js. This was done at a hack-a-thon with a few others friends and was our first attempt at creating a realtime game that also used Three.js to implement the 3D graphics.


I'm sure it bugs you every day when you run out of room because using 1s and 0s as strings in place of binary in Local Storage consumes too much space. Well, now SASStore (Sticks and Stones Store) can solve this pressing issue in your life! SASStore stores binary string data in the yEnc encoding format so that it will now be 7x (soon to be closer to 8x) fewer characters to store binary data than storing 1s and 0s as strings.


Simple multiplayer drawing app for Android (with a great name).


This is a new and revolutionary tree generation library that uses complex and sophisticated fractal mathematics to create realistic trees in WebGL using THREE.js and TWEEN.js.