Paste any link. It queues as pending and is ingested when your laptop runs node tools/ingest.js --watch.
node tools/ingest.js --watch
Phone queues → ingest_queue pending. Laptop polls, runs yt-dlp -x --audio-format mp3 + ffmpeg, uploads to Supabase tracks bucket. PWA live-updates via Realtime.
ingest_queue
pending
yt-dlp -x --audio-format mp3
ffmpeg
tracks
Run on laptop: node tools/ingest.js --watch
1GB • ~200 tracks — Supabase tracks bucket, public read.
Shared library for approved members — log in to browse, create playlists and queue new songs.