Show HN: Mayo – A lightweight, web-based audio player that works offline

mayo.clumsy.fish

13 points by koakuma-chan 11 hours ago

Here is the backstory: I used to use YouTube Music, but then I deleted my Google account. I didn't want Spotify because I hate it for various reasons, and at the same time I wanted to show off my programming skills. So here we are.

---

On the client: solidjs + tailwindcss + minisearch. IndexedDB as the database. One web worker to download audio to OPFS. Another web worker for indexing with minisearch. On top of this a service worker to precache static assets and make the app work offline.

On the server: bun + astro + sqlite + ffmpeg. Full-text search is implemented with fts5. Astro Actions is the best RPC.

---

The submission link goes straight to demo.

Here is the GitHub link:

https://github.com/mayo-dayo/app

Open to feature requests, but no promises.