The Problems SongWalk Had to Solve

Every project looks simple from a distance. "A little app for sharing music with friends" sounds straightforward enough. Upload some MP3s, generate a link, press play, done. But once SongWalk started taking shape, the real work was not just building a music library — it was solving all the awkward, practical problems that make small self-hosted apps frustrating in the first place.

1. Sharing Had to Be Fast, Not Theoretical

The whole point of SongWalk is simple: create a library, drop in tracks, copy a share link, and send it to someone immediately. That sounds obvious, but most self-hosted tools quietly assume the person running them is happy to spend half an hour setting up DNS, reverse proxies, SSL, and firewall rules before anyone else can even open the page.

SongWalk needed a "share first" flow. That is why the repo is built around quick local startup, Docker support, and Cloudflare Quick Tunnel integration. Public sharing in minutes, not hours.

2. Public Sharing Could Not Mean Public Exposure

Once you make something easy to share, you immediately create a second problem: how do you avoid turning the whole thing into an accidental directory listing of everyone’s music? The app uses UUID-backed library URLs so each library has its own share path. The root page treats direct localhost access differently from tunnelled or proxied access. That distinction is not just a UI choice — it is a security and product design decision.

3. Owner Access and Shared Access Needed to Be Separate

There is a big difference between "someone can open this library" and "someone can manage the whole system." Shared libraries live at public /s/ URLs. Management lives behind a separate private owner path. Without that separation, the whole app would feel fragile.

4. Metadata in the Wild Is a Mess

Music files are messy. File names are messy. Tags are messy. If SongWalk was going to feel good to use, it had to help make tracks presentable. That is why the app normalises metadata after import, tries to split artist and title intelligently, and uses MusicBrainz to fill in missing release details and cover art.

5. It Had to Be Self-Hosted Without Feeling Hostile

Plenty of self-hosted software is powerful. Far less of it is welcoming. SongWalk had to bridge that gap — work for the person who wants to run python -m songshare, for the person who prefers Docker, and for the person who just wants the thing online and shareable without reading a small novel first.

The interesting part of SongWalk was never just "make a place to upload songs." The interesting part was making something that feels easy while solving all the hidden problems around trust, routing, public exposure, metadata, imports, and setup friction.

Try SongWalk or check out the source on GitHub.


Read More in the SongWalk Series


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *