Projects

Programming

Thanks for taking an interest in the projects I'm hard at work on. This is not an exhaustive list, so if you are interested in seeing more or have any questions, feel free to get in touch with me.


The first project of note is of course this very website, which was originally a means to showcase my skills. Since then it has grown into a passion project that I take great pride in.

Chord Suggestions

After a few months of learning JavaScript, I decided I wanted to strike out on my own an build my own app from scratch. My educational background is in music, so I decided to create an app that would help songwriters to come up with chord progressions for their music. Chord Suggestions was born. So far, I am quite proud of it. The most difficult aspect was figuring out how to use JavaScript to establish the key of a piece of music that the user inputs. Once that code was written, I realized that the rest of the programming would primarily entail creating an intuitive UI for the generation of the chord suggestions themselves. "Ah-ha!" I thought to myself. "This is a wonderful opportunity for me to learn React!" I am in the midst of that endeavor likely as you read this, and Chord Suggestions will become a React app once I am confident in my understanding of the framework/library.

Let's Roll

Let's Roll came about after I joined my first ever Dungeons and Dragons group. I knew there are dozens of completely adequate dice rolling apps out there, but I wanted to create my own, mostly to prove to myself that I can do it.


class Trumpet extends Brass {}

When I began my programming journey, I did so with vague rumors that musicians seem to make good programmers. I'm not entirely sure how much stock I care to put into that notion, as I've not seen any empirical studies on the matter. If I am to speak to my personal experience, however, I must admit that I can see where the rumors come from. There is a particular state of mind that I feel myself enter into when I open VS Code and get to work that feels remarkably similar to doing so with my music notation software Finale. It is difficult to articulate, but the act of composing and the act of programming feel similar to my brain.


It may have something to do with object oriented programming being surprisingly similar to composing for a large orchestra. All of the instruments are objects divided into classes--instrument families, and the way these objects interact with each other come together to form a cohesive project, whether it be musical or computational. A piano concerto like the one I've written here is a good example of this, as it contains an entire orchestra revolving around a central instrument, the piano. I'm particularly proud of the fourth movement. I hope you enjoy! (The third movement is still a work in progress and is not in a state ready to be showcased.)

Piano Concerto No. 1, Mvt 1
Piano Concerto No. 1, Mvt 2
Piano Concerto No. 1, Mvt 4

Very little prepatory organization went into the following two pieces, as they were each a personal challenge to myself to see what I could write in a single afternoon. That said, I ended up liking them a lot and became rather proud of them.


>> Headphone warning at 1:50 of the second movement. <<

"String Quintet" No. 1 in Db Major, Mvt 1
"String Quintet" No. 1 in Db Major, Mvt 2