Asia/Kolkata
ProjectsNovember 20, 2025

The Eden Project

image
I got tired of paying for streaming subscriptions just to listen to my favorite songs without ads. And worse, I hated that I didn't actually own any of the music I was listening to. What if music wasn't so inaccessible? What if there was a self-hosted, open alternative to Spotify that gave you complete control over your library? So, I spent 6 months completely overengineering a platform to forcibly extract songs from the web, store them on my own server, and stream them through my own custom mobile application. All without ads. Completely self-hostable, entirely for free using Cloudflare's free tier. Eden isn't just a simple music player—it's a fully self-hosted, modular music ecosystem. It lets you migrate your favorite songs from YouTube, Spotify, or SoundCloud into your own server, and then listen to them on any Eden client. The entire ecosystem is split into several interconnected pieces:
  • 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.
To make this all work on a completely free tier without blowing up, I had to be smart about how data flows through the system. I built an orchestration layer using Cloudflare Workers that queues and processes song extraction asynchronously. Here's a 30,000-foot view of how the pieces link together:
Preview
End to End dataflow
Preview
Simple Architecture of the dataflow
Preview
How the user would interact with the Platform
Everything is open-source and ready to be deployed. Since the backend relies purely on Cloudflare Workers, you don't have to pay a single cent to host your own Eden cluster. To set it up:
  1. 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.
  2. 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.
  3. 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.
Once it's up, just browse the web, click the extension to rip your songs, and they instantly show up in your mobile app ready to hit play.
Full breakdown Coming Soon

Recent projects

Run over a Deer

Run over a Deer

Avatar
A Silly little game based on the hit movie Over The Hedge
Just a Walkthrough

Just a Walkthrough

Avatar
Framework-agnostic onboarding walkthrough / product tour library with optional React provider & Tailwind/shadcn support.
Daily Planner App

Daily Planner App

Avatar
A simple daily planner with a tasks list. cool onboarding tho. WIP
Suvan GSgreeenboiGreenArcadeSuvan GSgreeenboiGreenArcadeSuvan GSgreeenboi
Suvan GSgreeenboiGreenArcadeSuvan GSgreeenboiGreenArcadeSuvan GSgreeenboi