The Motivation: Why I Built Eden
What Exactly is Eden?
- Eden (Mobile App): A React Native (Expo) app for Android and iOS. This is my primary listening experience, featuring offline-readiness, personalized history, and AI-powered suggestions.
- Eden Garden (Chrome Extension): Built with the Plasmo framework, this is the ingestion pipeline. Whenever I'm listening to a track on YouTube, Spotify, or SoundCloud, Garden lets me rip it, fetch rich metadata (like cover art and artist info), edit it manually, and push it directly to my server with one click.
- Eden Server: The authoritative API backend built on Cloudflare Workers and Hono. It handles user auth, library management, and streaming.
- The Worker Layer: Three purpose-built Cloudflare Workers (Gateway, yt-metadata, and yt-downloader) to handle the heavy lifting, orchestrate downloads via yt-dlp, and keep the whole system horizontally scalable.
The Architecture Behind the Magic
How Data Moves Through the System



How to use it
- Deploy the APIs: Clone the repo, install dependencies with Bun, and use wrangler deploy to spin up the Eden Server and the three microservice Workers (Gateway, Metadata, and Downloader) on your Cloudflare account.
- Setup the Chrome Extension (Eden Garden): Build the extension and load it unpacked in Chrome's Developer Mode. Point it to your newly deployed Eden Server URL.
- Run the Mobile App: Power up the Expo app, point it to your server URL, and build a native binary with eas build or run it via Expo Go.
Full breakdown Coming Soon