Role: Creator and Developer
For my high school senior project, I built Letterpress Victory, a Java application with an interactive GUI that allowed the user to enter Letterpress games and moves, and calculated the best moves to make. As part of the project, I tested my AI against similar apps, and found that it well outperformed them (see the video for the statistics).
Below is my Letterpress Victory presentation video from high school. The algorithms discussed here are long gone in Lettercrush, replaced by much more efficient and powerful solutions.
Role: Data Collection Engineer
MabiMart is an online auction site for trading items from the MMORPG Mabinogi, built in the summer of 2014.
My role was very small compared to that of the site's owner and lead developer, my friend and classmate Clark Chen. I helped Clark build the site's database by writing a webscraper to acquire and organize data on all of the game's items, enchants, reforges, etc., and prepare these data for database seeding. This turned out to be both more interesting and challenging than I had expected, and I learned a lot about webscraping in the process. The script was written in Python, and I learned and made use of the Requests, lxml, and CSSSelect libraries.
Role: Research Assistant
Victor is a Scrabble-playing robot built at Carnegie Mellon and residing on the 3rd floor of the Gates Center for Computer Science, created primarily for the purpose of studying human-robot interaction. But
it's he's also fun to play with!
I worked during the Fall 2013 semester with Dr. Reid Simmons, the CMU professor who leads the project, on improving Victor's Scrabble AI. I employed my prior knowledge and experience as a competitive Scrabble player, as well as extensive research on Scrabble algorithms and AI strategies, to design, implement, and test several new strategy paradigms for Victor, and collect statistics on their relative performance. The goal was to design several levels of strategic complexity for Victor, so that he could automatically adjust his skill level to match his opponent's, making him more fun and interesting to play against.
I've got lots of exciting ideas that I'm working on. One of the biggest ones is a web app to replace the For Sale @ CMU Facebook group, providing much more functionality and convenience for CMU students to easily buy and sell items than the current, ad hoc medium provides. I'll be starting development for this project very soon.
Another is an online strategic board game idea I've had for a while that I can't wait to begin working on. Development for that probably won't start until after the above app is more-or-less complete.
More details about these, and any other projects that I take on, will become available as development begins in earnest. I'll update this site occasionally, but if you're interested and want to keep up with the latest, I recommend you on other media.