Some information about myself, and proper credit for my use of open-source and third-party software in Harmopark.

Who? 😃

Hi, my name is Pedro and I am a web developer from Asturias, in the north of Spain. I got a degree in Computer Engineering from the University of León and acquired a taste for web technology that I was later given the chance to fully explore at my first job in a software company named Virtway.

I worked there for six years in a full stack development environment, and then went on to start the indie video game studio CodePirinha with a former colleague. We made an action puzzle game for mobile devices called Match 2 Kill. While the game turned out really well, adding a real-time action twist to the match 3 genre, it wasn't a big commercial success. However it did earn us a number of new skills as well as the opportunity to meet and share experiences with lots of different people in our country's indie dev community.

In March 2018 I decided to start developing Harmopark as a personal project. It went live in the last week of February, 2019. Later that year I landed a front-end developer job at Sngular, where I still work today.

You can contact me at or on Twitter at @harmopark.

Why? 🎵

I love music and I've played guitar and bass for many years. I became interested in music theory when I took guitar lessons as a teenager and learned a fair amount of stuff about melody, harmony and rhythm. I've always liked to understand what's going on in the songs I listen to and when I write some music I enjoy applying the theory I know to inform the compositions.

At the beginning of 2018 I found myself discovering a lot of great music Youtubers, like Adam Neely, Rick Beato, or my fellow Spaniard Jaime Altozano. I remember a couple of videos that really inspired me to make this app. One was this fascinating interview with Jacob Collier, where I heard about negative harmony for the first time. The other was this brilliant presentation of modal interchange by Music with Myles. These and other videos and online discussions (like this one on Reddit) fueled my imagination and desire to create this tool that allowed me to combine my skills in web dev with my interest in music theory.

I decided to go with the Harmonic Table interface because not only it provides an engaging isomorphic keyboard to play in, it is also great for visualizing chords and tonal relationships in a geometric fashion. Being topologically equivalent to the Tonnetz, the Harmonic Table can be a very handy tool for composing.

How? 🔧

On the technical side of things, Harmopark is a static website (no server-side logic) that may be considered a Progressive Web App (PWA). All front-end code is written in JavaScript, with no framework.

The project is currently hosted on Amazon Web Services, using an S3 bucket as the origin for a CloudFront distribution.

Here I'll give attribution to all open source and third-party software used by the app.

CSS & JS libraries:
Code snippets, fonts and online tools:
Local development toolchain: