SkillAgentSearch skills...

Epsilon.fm

A modern open-source music distribution management system.

Install / Use

/learn @epsilon-records/Epsilon.fm

README

<p align="center"> ⚠️ <strong>CURRENTLY UNDER ACTIVE DEVELOPMENT - NOT YET GENERALLY AVAILABLE</strong> ⚠️ </p> <h1 align="center"> <a href="https://ms.epsilon.fm">Epsilon Management System</a> </h1> <p align="center"> A modern open-source music distribution management system. </p> <p align="center"> <strong>Web URL:</strong> <a href="https://ms.epsilon.fm">ms.epsilon.fm</a> <br /> <strong>API Base URL:</strong> api.epsilon.fm [<a href="https://api.epsilon.fm/v1/system/utils/ping">Ping</a>] <br /> <strong>Documentation:</strong> <a href="https://epsilon.readme.io">v0.0.6</a> </p> <p align="center"> <picture> <img src="https://github.com/epsilon-records/epsilon.fm/blob/7c15660bc1c2d4f3f709218ec1a085b40990d41d/src/lib/images/spinning-logo.gif" width="130" alt="Logo for Epsilon"> </picture> </p> <div align="center">

[![PRs-Welcome][contribute-image]][contribute-url] Discord FOSSA Status

</div> <p align="center"> <a href="https://kit.svelte.dev"> <img src="https://img.shields.io/badge/SvelteKit-FF3E00?style=for-the-badge&logo=Svelte&logoColor=white" alt="SvelteKit"> </a> <a href="https://svelte.dev/"> <img src="https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge&logo=svelte&logoColor=FF3E00" alt="Svelte"> </a> <a href="https://tailwindcss.com/"> <img src="https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white" alt="Tailwind CSS"> </a> <a href="https://tauri.app/"> <img src="https://img.shields.io/badge/Tauri-FFC131?style=for-the-badge&logo=Tauri&logoColor=white" alt="Tauri"> </a> <a href="https://fastapi.tiangolo.com/"> <img src="https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi" alt="FastAPI"> </a> <a href="https://www.postgresql.org/"> <img src="https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL"> </a> <a href="https://redis.io/"> <img src="https://img.shields.io/badge/Redis-DC382D?logo=redis&logoColor=fff&style=for-the-badge" alt="Redis"> </a> <a href="https://swagger.io/"> <img src="https://img.shields.io/badge/Swagger-85EA2D?style=for-the-badge&logo=Swagger&logoColor=white" alt="Swagger"> </a> <a href="https://storybook.js.org/"> <img src="https://img.shields.io/badge/storybook-FF4785?style=for-the-badge&logo=storybook&logoColor=white" alt="Storybook"> </a> <a href="https://shadcn-svelte.com/"> <img src="https://img.shields.io/badge/shadcn%2Fui-000000?style=for-the-badge&logo=shadcnui&logoColor=white" alt="shadcn/ui"> </a> <a href="https://playwright.dev/"> <img src="https://img.shields.io/badge/Playwright-45ba4b?style=for-the-badge&logo=Playwright&logoColor=white" alt="Playwright"> </a> <a href="https://bun.sh/"> <img src="https://img.shields.io/badge/bun-282a36?style=for-the-badge&logo=bun&logoColor=fbf0df" alt="Bun"> </a> <a href="https://vitejs.dev/"> <img src="https://img.shields.io/badge/Vite-B73BFE?style=for-the-badge&logo=vite&logoColor=FFD62E" alt="Vite"> </a> <a href="https://html.spec.whatwg.org/"> <img src="https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white" alt="HTML5"> </a> <a href="https://python.org/"> <img src="https://img.shields.io/badge/Python-FFD43B?style=for-the-badge&logo=python&logoColor=blue" alt="Python"> </a> <a href="https://rust-lang.org/"> <img src="https://img.shields.io/badge/Rust-black?style=for-the-badge&logo=rust&logoColor=#E57324" alt="Rust"> </a> <a href="https://typescriptlang.org/"> <img src="https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"> </a> <a href="https://prettier.io/"> <img src="https://img.shields.io/badge/prettier-1A2C34?style=for-the-badge&logo=prettier&logoColor=F7BA3E" alt="Prettier"> </a> <a href="https://zod.dev/"> <img src="https://img.shields.io/badge/Zod-000000?style=for-the-badge&logo=zod&logoColor=3068B7" alt="Zod"> </a> <a href="https://shopify.com/"> <img src="https://img.shields.io/badge/shopify-8DB543?style=for-the-badge&logo=Shopify&logoColor=white" alt="Shopify"> </a> <a href="https://digitalocean.com/"> <img src="https://img.shields.io/badge/Digital_Ocean-0080FF?style=for-the-badge&logo=DigitalOcean&logoColor=white" alt="Digital Ocean"> </a> <a href="https://vercel.com/"> <img src="https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel&logoColor=white" alt="Vercel"> </a> </p>

🔍 Project Overview

This SvelteKit and FastAPI powered open-source music distribution platform aims to revolutionize how independent artists share and monetize their music. Built with modern web technologies and a focus on user experience, our platform provides a comprehensive suite of tools for artists to manage their releases, engage with fans, and track their success.

Key features include:

  • Music Distribution: Seamless uploading and distribution of tracks to major streaming platforms.
  • Artist Profiles: Customizable artist pages to showcase music, biography, and upcoming events.
  • Release Management: Tools for creating and managing music releases, including metadata editing and scheduling.
  • Analytics Dashboard: Real-time streaming and revenue data to help artists track their performance.
  • Social Media Integration: Easy sharing of releases and updates across various social platforms.
  • Royalty Tracking: Transparent royalty calculations and payout management.

The project leverages the power of SvelteKit for a blazing-fast frontend, FastAPI with SQLModel for efficient backend operations, and integrates with services like Clerk for authentication and UploadThing for file handling. The modular structure allows for easy expansion and customization.

Key areas of the platform include:

  • routes/(main): Core pages like homepage, artist dashboard, and release management.
  • routes/(website): Artist-specific public-facing pages.
  • lib/components: Reusable UI components for consistent design.
  • lib/server: Server-side utilities and integrations.

This project aims to provide a robust and scalable solution for music distribution while remaining open-source and community-driven. It serves as an excellent foundation for music tech enthusiasts, independent labels, and developers looking to contribute to the music industry's digital transformation.

Our goal is to empower artists with a platform that combines ease of use with powerful features, all while fostering an open ecosystem for music distribution technology.

🌟 Key Features

This project aims to provide a robust open-source platform for music distribution, incorporating modern web technologies and user-centric design:

  • 🎵 Music Distribution: Seamlessly upload and distribute tracks to major streaming platforms.
  • 👤 Artist Profiles: Create customizable artist pages to showcase music, biography, and events.
  • 📅 Release Management: Comprehensive tools for creating, editing, and scheduling music releases.
  • 📊 Analytics Dashboard: Real-time streaming and revenue data for performance tracking.
  • 🌐 Social Media Integration: Easy sharing of releases and updates across various platforms.
  • 💰 Royalty Tracking: Transparent calculations and management of royalty payouts.
  • SvelteKit Powered: Utilize SvelteKit for a blazing-fast, reactive user interface.
  • 🗃️ SQLModel: Efficient database operations with type-safe queries.
  • 🔐 Clerk Authentication: Secure and customizable user authentication and management.
  • 🗂️ UploadThing Integration: Robust file handling for music and image uploads.
  • 🎨 Customizable UI Components: Reusable components for consistent design across the platform.
  • 📱 Responsive Design: Mobile-friendly interface for on-the-go management.
  • 🔍 SEO Optimization: Built-in features to improve discoverability of artist pages.
  • 🌍 Internationalization: Support for multiple languages to reach a global audience.
  • 🚀 Scalable Architecture: Designed to handle growth from indie artists to major labels.
  • 🧩 Modular Structure: Easy to extend and customize for specific needs.
  • 🐳 Docker Support: Simplified deployment and development environments.
  • 👥 Open-Source Community: Benefit from and contribute to a growing ecosystem of music tech.

📋 Prerequisites

Before you begin, ensure you have the following prerequisites installed and configured:

  • PostgreSQL: Set up a PostgreSQL database.
  • Redis: Install and configure a Redis server.
  • Python: Make sure to have Python 3.12 or a newer version installed on your system.
  • Poetry: Install Poetry for managing Python dependencies.
  • Bun: Install Bun for managing Typescript dependencies.

Note: Soon, there will be an additional option for development using Docker containers.

Developing

Once you've cloned the code and installed dependencies with bun install, you can start the development server as follows:

bun run dev

# or start the server and open the app in a new browser tab
bun run dev -- --open

Building

To create a production version of the app:

bun run build

You can preview the production build with bun run preview.

Todo

[x] Setup pre-commit hooks (Husky, Lint-staged, Devmoji)
[x] Setup local code repository (Git)
[x] Setup remote code 

Related Skills

View on GitHub
GitHub Stars42
CategoryData
Updated1d ago
Forks22

Languages

TypeScript

Security Score

95/100

Audited on Apr 3, 2026

No findings