MelodyMatrix V1.0.0 Released: Shipping a JavaFX App with jDeploy, GitHub Actions, and Auto-Update

MelodyMatrix V1.0.0 Released: Shipping a JavaFX App with jDeploy, GitHub Actions, and Auto-Update

Some side projects take a while to get to a proper release. MelodyMatrix is one of those. The app has been downloadable for quite some time thanks to jDeploy, but there was no official V1.0.0 yet. No tagged release. No moment of “okay, this is it.” Just a rolling build on every commit to the main branch.

That changed now: live, on camera, together with Steve Hannah, the creator of jDeploy.

What Is MelodyMatrix?

MelodyMatrix is a JavaFX application for musicians. It connects to MIDI devices, lets you practice and record, and has a set of views that help you understand what you are playing. Those views are open source and available on GitHub. The full app is free, but has some features that are only available with a license. The download packages are published via GitHub Releases.

Building it has been a long journey. JavaFX, MIDI, and musical theory in one app, keeping it working across Windows, macOS, and Linux, while also building and distributing it automatically from GitHub Actions. That last part is where jDeploy comes in.

What Is jDeploy?

If you have not heard of jDeploy yet, Steve explains it very well in a few sentences: “Once you finish building a desktop application, you hit a wall. How do you share it? How does your user install it? And when you update it, how do they get the new version without manually downloading and reinstalling?

jDeploy solves all of that. It creates native installers for Windows (.exe), macOS (.dmg), and Linux, handles auto-update on launch, bundles its own JVM so users do not need Java installed, and uses GitHub Releases as the distribution backend. No Maven Central, no NPM account required. Your GitHub repo is your distribution channel.

I did a full interview with Steve earlier where he explains the background of the tool: JavaFX In Action #12 with Steve Hannah about jDeploy. Worth watching if you want the full picture.

The Video: Preparing and Triggering the First Release Together

This new video is about an hour long and covers the whole process of getting MelodyMatrix ready for V1.0.0. Steve joined me, and we walked through the project configuration together, fixed a few things in the GitHub Actions workflow, discussed best practices around git tags, and then actually triggered the first release build while the camera was still running.

Some of the things we covered:

And around the 57-minute mark, the release build finished on GitHub Actions and MelodyMatrix V1.0.0 was live.

Why jDeploy, and Why It Is Free

jDeploy is completely free! Steve wants Java desktop apps to be easy to deploy, and any barrier to entry works against that goal. He is working on a paid tier with private repositories and deployment authentication, but the core tool stays free.

For a solo developer building a side project like MelodyMatrix, that matters. I can push a new version by tagging a commit, and within minutes there is a new installer available for every platform. Users get it automatically on the next launch. No manual distribution, no “please re-download the installer” emails.

A Side Note on Lottie4J

While waiting for the GitHub Actions build to finish, Steve mentioned he had been experimenting with adding Lottie animation support to the jDeploy splash screen, and we talked about Lottie4J for a bit. That is the kind of thing that happens in a live session. :-) Steve even built a Claude Code skill for creating a custom HTML splash screen with a LottieFiles animation. If you want to try it: jdeploy-claude on GitHub and the custom launcher splash screen skill.

Timeline