You need to have JavaScript enabled in your browser in order to view this website properly. Click here for help enabling JavaScript.

Switches between day/night mode

Jemmin Chang

About Me


Hello, world!

My name's Jemmin (IPA: dʒεmɪn). I hail from Somers, NY (home of the American circus!), where I graduated from Somers High School in 2013, and I'm currently a student at Carnegie Mellon University. I'm studying computer science and linguistics, expecting to graduate in May 2017.

My academic interests lie at the intersection of computing, linguistics, and artificial intelligence. Some of my work in these areas can be seen on the Projects tab, or you can download my Résumé. In my free time, I enjoy playing viola and violin, listening to classical music, playing tennis and ping pong, hiking, competitive Scrabble, and making ice cream.

If you share any of these interests, feel free to get in touch!

For more information about my musical and Scrabbular activities, see the sections in More.

About this website

This is Jemmin Chang's personal website. Graciously hosted by the #!/cmu/cc; last updated on 09/27/15.

My Projects

NLP Term Project: Text-based question asking and answering system

Role: Project Lead

Our term project in 11-411 Natural Language Processing at CMU was to build a system to ask and answer intelligent questions based on Wikipedia articles. Somehow, my team won 3rd place (of 17) in the question asking component.

The short video below explains what we implemented in our system, and the (very messy) code is hosted on GitHub.

Tailor: Automatic song lyrics generation

Role: Lead Developer

Tailor is a Python tool for automatic generation of original song lyrics from a N-gram-based language model trained on a set of songs' lyrics. I started working on it during summer 2015, so it's still young, but you can check out its progress on GitHub. I'm happy to partner with one of my oldest friends, Rohit Kapur, on this fun project.

Lettercrush: The world's best Letterpress AI

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).

My knowledge of AI was much smaller at that time, and the implementation was quite simple. After a year of CS at CMU, I decided to rewrite the app from scratch: new language (JavaScript), new algorithms, and - as I soon discovered - many new challenges (mostly related to JS...). But the results far exceeded my expectations: as I coded, I realized more and more of the design flaws, inefficiencies, and downright bugs in my original Java program. By the end, everything was different, from the dictionary data structure to the game tree exploration algorithm to the GUI layout. And, though I haven't done any tests yet, I'm sure Lettercrush performs far better than Letterpress Victory did. I still haven't gotten around to polishing the GUI, but you can play with it here, and see the code on GitHub.

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.

Other Stuff

Scrabble Board


Looking for the 98-252 course page?

I started playing Scrabble through the School Scrabble program when I was 12 years old. I attended the National School Scrabble Championships in 2008 and 2009, partnering with Danilo Vicioso and Bryan Poellot and finishing 26th and 18th, respectively. After graduating from 8th grade and becoming too old to play School Scrabble, my Scrabble activity decreased due to the much harder competition in adult tournaments and my getting more involved with music and other activities. Recently, upon starting college at Carnegie Mellon, I've started playing more Scrabble again and attending a few tournaments.

In Fall 2014 and Spring 2015, I taught a StuCo class called "Wordplay: Fundamentals of Scrabble Strategy." The course number is 98-252.


My love for and involvement in classical music has developed steadily over the years. I began playing viola in the 3rd grade with my intermediate school orchestra, and started taking private lessons with Elizabeth Kaplan in high school. Somewhere along the way I picked up the violin as well.

I continue to practice and study viola at CMU, and I've played viola and violin in the All-University Orchestra and String Theory. My favorite, though, is to perform in small chamber ensembles and quartets - so if you're interested in playing something together, please let me know!

My favorite period of music is the transition between the Classical and Romantic periods, and (some of) my favorite composers are Beethoven, Mendelssohn, Schubert, Tchaikovsky, and Chopin.

Me in Gates

How to get in touch

I'm available for personal and professional inquiries, comments, and coversation of all sorts, so feel free to reach out. If you have a professional inquiry, you may want to check out my Résumé first.

I respond to email very quickly, so it's the best way to reach me. My email address is simply my first and last names, followed by at cmu dot e dee you (pronounce it; it's for the robots). I can also be found on Google+, Facebook, and LinkedIn.

If you're more about code than social media, check me out on GitHub or ask for my friend key on Project Euler.

© Jemmin Chang 2014