Last week was busy for MelodyMatrix. The website got rebuilt from the ground up, and the app itself got a solid release with a handful of new features.
The Website Is Completely New
melodymatrix.rocks used to be one Spring Boot + Vaadin Flow application serving everything: the public pages, the account/admin back office, and the REST API used by the desktop app. That worked, but a Vaadin app isn't a perfect match for a public product site as it's not great for SEO.
So www.melodymatrix.rocks is now a static, multilingual Hugo site, live in 8 languages (English, Dutch, German, French, Italian, Polish, Japanese, Chinese), deployed to GitLab Pages. The Vaadin application still exists, but it's trimmed down to only what actually needs a server: my.melodymatrix.rocks (account, license, teacher/admin back office) and api.melodymatrix.rocks (the public REST API used by the desktop app, plus the Polar.sh license sales webhook). At this moment, both live in the same application, but the plan is to split them into separate microservices whenever that becomes necessary, e.g. if we sell thousands of licenses a day ;-)
The new site pulls in live data at build time instead of duplicating it by hand: a small Python script fetches the current releases and the open-source "thanks" list from the API before every Hugo build, so the Releases page and the credits are never out of sync with what's actually shipped. This way it's easy to keep the app and website in sync, without the need to maintain the same data in two places.
Built the Same Way as Lottie4J
If this sounds familiar, it's because it's the same approach I wrote about for Lottie4J two weeks ago: Theia IDE driving the Claude API, with an @Architect writing a plan and a @Coder executing it in its own scoped session to simplify the Vaadin website. The layout for the website was created with Claude Design which exported it flawless into a Hugo template. Moving the content from Vaadin to the new website, the i18n scaffolding for 8 languages, the data-driven feature/view/tier cards, was done with AI-assisted coding. Let's be honest, this is the new way of working. Still, a lot of manual work for testing, reviewing, improving, etc. But most of the coding work was done with and by the tools. Yes, it cost me a few 100 dollars in Claude credits, but it saved me a lot of time and frustration. For a pet project, with only minimal available time, I wouldn't have achieved this in such a short time.
The same discipline applied: small, well-bounded tasks (one section at a time: navigation, features, downloads, legal pages, translations) instead of one giant prompt, and a fresh session per task rather than one ever-growing conversation.
App Release 1.1.0
While the website was being rebuilt, MelodyMatrix itself also moved forward to version 1.1.0:
- Audio spectrum view: a new visualizer added to the set of viewer stages.
- Falling/rising note blocks in the Piano view, closer to the "note highway" style many musicians expect from a practice tool.
- Improved sync between view, soundfont, and audio playback.
- i18n support, with extra languages added to the desktop app itself.
- Improved MIDI view and reordered views for a more logical order.
- A fixed macOS DMG build step in the release pipeline.
As before, the Viewers module stays open source and the download packages are published through jDeploy via GitHub Releases, with the download page on the new site always pointing at the current build.
What's Next
With the website live and 1.1.0 out, we will be focusing on content improvements. We want to create videos to demonstrate all views and features. And Vik is working on multiple series of lessons that will be integrated in the app to learn to play piano, use jazz chords, etc.
Please take a look at the new website and install MelodyMatrix (it's free for most features). Let us know your remarks and provide feedback about what's bad/great! If you spot a broken translation, a confusing page, or a bug in the app, issues can be reported in the open-source Viewers repository.


Top comments (0)