4 ms·
Show HN: Drift FM – Ambient Mood Radio (Go, SQLite, Vanilla JavaScript)
Built an ambient mood radio. Pick one of 6 moods (focus, calm, late night, energize, groove, storm) and it plays continuously.
Tech: Go backend serving static files + API from single binary, SQLite for metadata, vanilla JS frontend with no build tools. PWA with offline support.
Content pipeline is automated: audio processing, normalization, Cloudflare R2 sync.
Running on a $4 VPS, 8MB memory usage. No framework, no React, no webpack.
drift.1mb.dev
- fuzzfactor 8mo agoPeople should be listening to this and giving their opinions. So far it's all music all the time, no talk, no commercials. That's a level of perfection right there that few other forms of radio have ever achieved !
- flaboonka 8mo agoSounds interesting but on iOS I can only see “calm” as an option.
- vnykmshr 8mo agoThanks for the report Root cause was a race condition where the mood galaxy layout engine could run before the container had dimensions, stacking all 6 orbs at the same position (only "Calm" visible on top). Fixed with a layout guard that defers positioning to the next animation frame.
- vnykmshr 8mo agoMood radio you host yourself. Drop in your mp3s, tag them by mood, hit play - github.com/1mb-dev/driftfm