Skip to content

Lofiever is an open-source project that streams curated lo-fi music 24/7, using AI-driven selection and real-time synchronization so everyone listens in sync.

License

Notifications You must be signed in to change notification settings

MatheusKindrazki/lofiever

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Next.js 15 React 19 TypeScript Tailwind CSS Socket.IO OpenAI

Lofiever

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.

FeaturesQuick StartContributingCommunity

Stars Forks Issues License


Features

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

Tech Stack

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

Quick Start

Prerequisites

  • Node.js 20.x or higher
  • Docker and Docker Compose
  • npm

1. Clone and install

```bash git clone https://github.com/MatheusKindrazki/lofiever.git cd lofiever npm install ```

2. Configure environment

```bash cp .env.example .env

Edit .env with your values

```

3. Start all services

```bash npm run setup ```

This starts Docker containers (Icecast, Liquidsoap, PostgreSQL, Redis) and verifies everything is running.

4. Start development

```bash npm run dev ```

5. Open in browser

Project Structure

``` 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 ```

Available Scripts

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

Contributing

We love contributions! Lofiever is open source and we welcome contributors of all skill levels.

Ways to Contribute

  • 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!

Good First Issues

New to the project? Look for issues labeled `good first issue` - these are beginner-friendly and a great way to start contributing.

Getting Started

  1. Fork the repository
  2. Create a feature branch (`git checkout -b feat/amazing-feature`)
  3. Make your changes following our Contributing Guide
  4. Commit using Conventional Commits (`feat: add amazing feature`)
  5. Push and open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

Community

Documentation

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

Roadmap

  • 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.

Support the Project

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

License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with love by @MatheusKindrazki

GitHub

About

Lofiever is an open-source project that streams curated lo-fi music 24/7, using AI-driven selection and real-time synchronization so everyone listens in sync.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •