This is a web app showing chords that I've collected / worked out over the years. You can find the live app at https://chords.fly.dev/.
The app consists of several pieces.
All of the above are hosted on Fly.io. The API server and
frontend server are both written in Go using the standard
net/http
library.
I've also written a command-line interface in Go, which I privately use to add and update chords.
docs
: Markdown specs and explanatory notes. Read these if you'd like to
learn more about the inner workings of the app.src
: source code
client
: API client, used by the CLI and frontendcmd
: CLI - I use this to update the chords databasedblayer
: core data structures and database wrappers, used by the client
and serverserver
: the API and frontend servertests
: Go integration tests for the API server.main.go
: main entry point, runs the API/frontend server.I'm an amateur musician, and enjoy covering pop/rock songs. I've often found errors in chord sheets available online (including popular websites like Ultimate Guitar). This led me to start working out chords myself, and over the years, I've amassed quite a collection.
Historically, I've stored these using a notes app like Google Keep. There are plenty of issues with this approach:
Eventually, these concerns led me to decide that I'd be better off building my own website for my chords.
This project is open-source, and licensed under the terms of the GNU Affero General Public License.