Project Goal
DJ Brain is an open-source, self-hosted, AI-managed digital jukebox system.
Acting as an AI DJ Co-Pilot, it empowers DIY music enthusiasts and venue operators to run their own jukebox using a private music library. The system manages a request queue and incorporates a contextual AI DJ to ensure the music never stops, intelligently filling gaps based on the current vibe, BPM, and mood.
💡 Development Environment: This project is being developed exclusively using Google's "Antigravity" coding application in a Human-AI collaborative workflow with Gemini Code Assist, showcasing modern development practices.
Key Features
🏠 Self-Hosted
Run it on your own local hardware (Raspberry Pi 4B, mini-PC, NAS) with Docker.
📂 BYOM (Bring Your Own Music)
Works with your local music library, giving you complete ownership and control of your media.
🤖 Intelligent Queue
An AI core monitors request gaps and selects tracks based on current mood, genre, and BPM ranges.
🔊 Multi-Room Audio
Transmit audio sync-streams to multiple network players (e.g. Raspberry Pi running Squeezelite).
Architecture & Tech Stack: Dockerized Microservices
The system is built as a set of containerized services orchestrated via Docker Compose:
- Music Server: Mopidy (Centralized playback, plugins, and JSON-RPC API)
- Database: MariaDB (Persistent storage for requests, tracks, and playback logs)
- Backend: PHP / Slim Framework (Microservice API handling requests and state)
- Frontend: Vanilla JavaScript/HTML/CSS (Modern touch-friendly queue interfaces)
- AI Engine: Python (Background processor for queue filling and smart selections)
Docker Compose Blueprint
services:
mopidy:
image: rawdlite/mopidy
ports: ["6680:6680", "6600:6600"]
volumes:
- ${MUSIC_PATH}:/data/music:ro
mariadb:
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
php_backend:
image: php:8.2-apache
depends_on: [mopidy, mariadb]
Project Roadmap
Phase 0: Documentation & Scaffolding (Completed)
- Project Definition & Architecture Overview
- User Manual & Configuration Scaffolding
- Docker Blueprint Refinement
Phase 1: Foundation (In Progress)
- Mopidy Setup & Database Schema Definition
- PHP Jukebox Backend (MVP API)
- Basic Frontend (Search & Request UI)