Craft
Shipping a song to the open web
A folder is not a release. A player that claims ten thousand songs is not a release either, unless the tenth thousandth file is actually there.
I have a Music folder like everyone who records at home. Inside it, albums accrue names that only make sense to the person who was in the room: September Blues, BROKEN by Wind, a WAV called something-converted because a tool panicked and added a suffix. Next to the audio, a still from an image model. Next to that, a video I might post later. If I dumped the whole directory into a public player, the catalog would lie. It would count pictures as songs. It would list the same lullaby twice. It would look busy. Busy is not the same as true.
So the rule is boring, which is how rules survive. One unique master per song. Prefer the WAV. Skip the MP4. Skip the still. If two WAVs are the same song under a short filename and a long filename, keep the long one — the one that still remembers the title I meant. Encode a 160 kbps stream. Hash the master. Append the public playlist. Then, and only then, the listen page is allowed to learn the name.
Two roofs, one catalog
The primary player lives at asiancoastline.com/listen.html. The backup is the Excavationpro listen page on GitHub Pages. I deploy asian first, listen once, then promote the same playlist to the backup. I do not redesign the player when a song arrives. Redesign is how you break the room while you are trying to add a chair. The shell is sacred. The data moves. That sentence is in the operator notes because I have watched agents “improve” a page into a mall.
Stores are a third door: Feature.fm for Spotify, Apple, YouTube Music. Free listen is hospitality. Stores are discovery that can pay. Mixing them until a guest cannot tell a stream from a checkout is a kind of thinness I do not want in this house.
What I refuse to paint
If lyrics were not in the folder, the lyrics panel stays empty. If a CDN is a day behind, I say so instead of inventing a live count. Caches are weather. The playlist JSON is the house. Hard-refresh is not a ritual; it is how you ask the weather to catch up.
September Blues shipped nineteen unique tracks. BROKEN by Wind shipped seven. Those numbers are not a brand story. They are what remained after duplicates were refused. King of the Nothing did not need to exist as both a short name and an ALREADY DEAD name. Boxing Up The Ghost did not need to exist twice. The titled file won. That is editorial work. It is also the opposite of thin content: someone decided.
Why this belongs on Eternal Haven
Because a music site that is only buttons is a kiosk. A kiosk is fine in a station. It is a poor library. I want a page you can read on the same domain as the books, that explains the craft without requiring you to install a studio. If you never open a DAW, you can still understand why a public catalog should not count a screenshot as a single.
The longer ethics are in Empty beats fake and Music. This essay is the loading dock. I will keep using it whenever a new folder arrives. The lantern is still on. The player still does not need your account.