24/7 Lo-fi Radio Stream with AI-Powered Virtual DJ
A beautiful, immersive lo-fi music streaming platform where all listeners are synchronized,
featuring real-time chat, AI curation, and a stunning Zen Mode experience.
Features • Quick Start • Contributing • Community
| Feature | Description |
|---|---|
| 24/7 Live Radio | Continuous lo-fi streaming via Icecast + Liquidsoap |
| Real-time Sync | All listeners hear the same music at the same time |
| AI DJ (Lofine) | OpenAI-powered virtual DJ that takes song requests and chats |
| Live Chat | Real-time chat with AI moderation and private messaging |
| Zen Mode | Fullscreen immersive experience with animated backgrounds |
| Multi-language | English and Portuguese support |
| Dynamic Playlists | AI-curated playlists that evolve based on mood and requests |
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS 4, Zustand, React Query |
| Real-time | Socket.IO for live chat and metadata sync |
| Backend | Node.js, PostgreSQL + Prisma, Redis |
| Streaming | Icecast + Liquidsoap for professional audio streaming |
| AI | OpenAI API for DJ personality and chat moderation |
| Storage | Cloudflare R2 for music files and artwork |
- Node.js 20.x or higher
- Docker and Docker Compose
- npm
```bash git clone https://github.com/MatheusKindrazki/lofiever.git cd lofiever npm install ```
```bash cp .env.example .env
```
```bash npm run setup ```
This starts Docker containers (Icecast, Liquidsoap, PostgreSQL, Redis) and verifies everything is running.
```bash npm run dev ```
- Web app: http://localhost:3000
- Audio stream: http://localhost:8000/stream
- Icecast admin: http://localhost:8000/admin/
``` lofiever/ ├── src/ │ ├── app/ # Next.js App Router │ │ └── api/ # API routes │ ├── components/ # React components │ ├── lib/ # Core libraries │ │ └── socket/ # Socket.IO client/server │ ├── services/ # Business logic │ └── types/ # TypeScript definitions ├── server/ # Custom Node.js server (Socket.IO) ├── streaming/ # Icecast + Liquidsoap configs ├── prisma/ # Database schema and migrations ├── messages/ # i18n translations (en, pt) └── docs/ # Documentation ```
| Command | Description |
|---|---|
| `npm run dev` | Start development server (Socket.IO + Next.js) |
| `npm run build` | Build for production |
| `npm run start` | Start production server |
| `npm run lint` | Run ESLint |
| `npm test` | Run tests |
| `npm run docker:up` | Start Docker containers |
| `npm run docker:down` | Stop Docker containers |
| `npm run db:migrate` | Run database migrations |
| `npm run db:seed` | Seed database with sample data |
We love contributions! Lofiever is open source and we welcome contributors of all skill levels.
- Report bugs - Found something broken? Open an issue
- Suggest features - Have an idea? Request a feature
- Submit PRs - Code contributions are always welcome
- Improve docs - Help make our documentation better
- Star the repo - Show your support!
New to the project? Look for issues labeled `good first issue` - these are beginner-friendly and a great way to start contributing.
- Fork the repository
- Create a feature branch (`git checkout -b feat/amazing-feature`)
- Make your changes following our Contributing Guide
- Commit using Conventional Commits (`feat: add amazing feature`)
- Push and open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- Issues: Report bugs or request features
- Discussions: Ask questions and share ideas
- Pull Requests: Contribute code
| Document | Description |
|---|---|
| CONTRIBUTING.md | How to contribute to the project |
| CODE_OF_CONDUCT.md | Community guidelines |
| SECURITY.md | Security policy and reporting |
| ENV_VARIABLES.md | Environment variables reference |
| docs/ARCHITECTURE.md | System architecture overview |
| docs/STREAMING.md | Audio streaming configuration |
- Mobile app (React Native)
- More languages (Spanish, French, Japanese)
- User accounts and personalized playlists
- Discord bot integration
- Spotify/Apple Music integration for song metadata
- Community-submitted music
See our project board for current development priorities.
If you enjoy Lofiever, please consider:
- Giving the repo a star
- Sharing with friends who love lo-fi music
- Contributing code or documentation
- Reporting bugs or suggesting features
This project is licensed under the MIT License - see the LICENSE file for details.
Made with love by @MatheusKindrazki