Chord Chart Memo

Chord Chart Memo lets you input chords with just two taps.

What is it?

Chord Chart Memo is a tool for musicians and songwriters which lets you input chords with just two taps. Charts can be entered and modified quickly, and are saved entirely offline.

The app also makes it easy to transpose charts and work in different keys. Charts can be labeled with text notes, to act as section titles, or other reminders for performance.

The app features all the most frequently used chords. If you can't find your favourite chord, send me an email! Slash chords can also be typed in, to denote specific inversions, basslines or to simplify complex chords.

Design

The note keyboard lays out the 12 notes based on the Circle of Fifths, so that the first row consists of all major chords in the selected key, and the second row consists of the minor chords.

The chord keyboard is laid out in columns for major, minor and dominant chords, making it easy to tell at a glance where you can find the chord you would like to input.

By changing the key, the note buttons are transposed but the relationship between the note buttons remains the same, so that entering a given chord progression will always use the same motions regardless of the selected key. For example, the I - IV - VIm - V7 progression below uses the same motions in A as it would in C, where the chords would be C F Am G7.

Why I built this

I got tired of seeing fellow musicians use their phone's native note-taking app to laboriously type chord after chord. I got tired of seeing musicians fail to access charts on the internet because of poor cellular reception. And I also got tired of finding a chart and then having to transpose the chords in my head in order to accommodate other performers.

How I built this

I started working on this on Christmas Day 2022 - back then all it had was very basic chord input & transposition. I then used it for rehearsals & songwriting throughout most of 2023. I got great feedback from musicians who noticed the app, and I got motivated to polish it and ship something that is more widely useable, and also works on stage. During beta-testing I have been using it exclusively for my live performance. Several beta-testers have also switched to using Chord Chart Memo even after testing was complete.

I built this in my spare time, often taking months-long gaps in development because I did not have the time, or I was working on something else. But the secret sauce that let me be productive even after not looking at the code for six months was Godot Game Engine. Yes, Chord Chart Memo is entirely made in Godot! I've written another article that talks about my experience with Godot in general.

Lessons Learned

It always takes longer than you think

This is in a lot of aspects a very simple app, but it still took me 1.5 years from conception to something that musicians can actually rely on. If I had worked on it more consistently, it would have taken less time, but I'd also have gotten a lot less experience from using it live & watching other people, so I think I would be a lot less happy with the design.

Testing with actual users is crucial

I put this app in front of 20 musicians, and the feedback was priceless. Some of them got the design immediately, and they understood how to best use the app just by looking at it. When that was not the case, I had to figure out how to make those features more intuitive, such as by changing some labels on the buttons, or highlighting certain parts of the interface.

Godot is great for hobby development

I'm sure the fact that I already knew Godot helped me a lot. But if I had to dive into, for example, Android Java API documentation & relearn how to work on the app every time I took a 6 month break, I don't think I would have been motivated to finish Chord Chart Memo.

Godot's scripting is high level enough that it is very easy to be productive even if you only work with a tiny part of the engine. And everything about the editor is amazing: it looks the same way on screen as it does on my phone, adding new GUI elements and connecting them up is a breeze, and the live debugging works very well.