Introducing... Wavman

We’d like to announce today the release of Wavman: an open-source music player built for Nostr, brought to you by the good folks at Wavlake.

Screenshot of Wavman music player
Wavman (v1.0)

It plays! It zaps! It fits in the palm of your hand!

We’d like to announce today the release of Wavman: an open-source music player built for Nostr, brought to you by the good folks at Wavlake. After spending the past few months closely watching the explosion of activity happening on Nostr, we thought this would be a fun way to dive into building on it ourselves and see what kinds of possibilities it could offer us in the future development of our own tools.

Wavman is inspired by some of our most beloved music and gaming devices of the past: the iPod, Gameboy, and Walkman. The interface and functionality is intentionally basic – both as a tribute to the elegant simplicity of these classic devices and frankly, to keep our own development cycle as short and focused as possible. We set a very tight timeline and included only the most basic features in order to deliver something that 1) worked and 2) helped give us a better understanding of the Nostr protocol.

Wavman works a lot like many of the other Nostr clients that exist today. It plugs into a relay, pulls events from that relay, and displays them to the user. The main difference is that Wavman is built to consume and present a very specific kind of event we’ve created that contains information about a piece of music: namely its creator, title, and file location (more on this later). Once Wavman has that information, it can display and play a song just like you would expect any music player to.

The more interesting dimension here is that a Nostr user can interact with these events, much in the same way they do today on social media-style Nostr clients. This means users can zap and comment on these songs through Wavman and those interactions will be published and shared for everyone to see. Of course, a developer could easily modify the Wavman client to read from and write to a different relay, or many, or they could change the client to consume a different kind of event entirely… Thinking through the possibilities here gets a bit mind-boggling after a few iterations, which is what excites us most about the development happening on Nostr today.

As far as the music itself, we’ve made every single track that is on Wavlake available on Wavman. We think this gives all our artists another avenue to earn bitcoin for their work from fans they might not have been able to reach before. All zaps minus fees will go directly to the artists who created each track.

We’re putting out Wavman as an open-source project because we want to contribute to the development of more tools for artists and music fans on Nostr. We think there is enormous potential in the protocol and are as eager to build on it as we are to see what others build. Where do you want to take Wavman? What do you want to change? We’re curious to find out and would love to see some PR’s.

Also: we want to give a special shout-out to the newest member of the Wavlake team, Josh Remaley! Josh led the development of the Wavman client and didn’t flinch when we threw this at him on his very first day at work. Welcome and thanks, Josh!

In conclusion, we hope you have fun with Wavman. We had fun building it. Give it a spin, zap some good tunes, and please tell your friends!