In early 2017, as part of my final project for a Stanford iOS development course, I created ChoreoRoom, an app that helps dance choreographers plan out the blocking (i.e., formations) for their pieces. I had come up with the idea along with a few other friends at TreeHacks a year earlier1, but at the time we weren’t able to accomplish much due to our limited web development experience. This time, however, I was confident I would be able to turn our concept into a workable, usable app.

ChoreoRoom was hands-down my favorite coding project that I ever worked on in college. This was mainly because of my personal interest as a dance choreographer. Even when I felt completely lost or discovered particularly tricky bugs, I was able to regain my momentum by reminding myself of how much the app meant to me. Although I was able to use a lot of what I had learned in class, many of the app’s features (such as the ability to share pieces via AirDrop and email) required researching new APIs, reading online tutorials, and browsing Stack Overflow. By the time I made my final presentation at the end of the quarter, I had developed a solid prototype for ChoreoRoom that I felt comfortable sharing with fellow choreographers for informal alpha testing.

A sample formation created using ChoreoRoom

A few months later, over winter break my senior year, I found the time to polish the app for public release. This involved improving usability, fixing bugs, and overhauling the UI. I published ChoreoRoom on the App Store in January 2018, and since then it has been downloaded more than 30,000 times! Its most recent update contained a handful of new features, including color coding, multi-select mode, an updated gallery view, and higher resolution graphics when zooming. Knowing that my app is used and appreciated by real users all over the world is a pretty rewarding feeling. Part of me always wonders if there are any famous dancers whom I follow and who use ChoreoRoom…who knows? 🤓


  1. After my friends and I created the idea of ChoreoRoom at TreeHacks, we learned of a similar app that already existed called PlayBook. While PlayBook already offered many of the features that we wanted out of ChoreoRoom, it had not been updated since 2013, meaning it still used pre-iOS 7 UI elements and was not optimized for newer devices. Thus, while I strived to make a better, more modern app by creating ChoreoRoom, I am grateful that PlayBook already existed because it served as a helpful baseline during development.