Skip to content

Boredooms/BlissMusic

Repository files navigation

BlissMusic Logo

🎡 BlissMusic

Your Personal AI-Powered Music Sanctuary

Experience music like never before with intelligent recommendations, seamless streaming, and a stunning interface.

Next.js TypeScript Tailwind CSS Supabase

πŸš€ Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ ✨ Request Feature


✨ Why BlissMusic?

BlissMusic isn't just another music playerβ€”it's a next-generation music experience that understands you, adapts to your mood, and keeps you hooked with AI-curated playlists.

🎯 What Makes Us Different

  • πŸ€– 100% AI-Free Recommendations - Lightning-fast algorithmic curation without quota limits
  • ⚑ Instant Search - Find any song, artist, or album in milliseconds
  • 🎨 Stunning UI - Premium glassmorphic design with smooth animations
  • 🌍 Regional Intelligence - Bollywood, K-pop, Latin, Western - perfectly curated for your region
  • πŸ• Time-Aware Playlists - Morning energy, afternoon chill, evening party, late-night vibes
  • 🚫 Zero Ads, Zero Subscriptions - Completely free, forever

🎬 Features That'll Blow Your Mind

🎡 Smart Music Discovery

Made for You - Your Personal DJ

Time-aware, mood-matched playlists that evolve throughout the day:

  • β˜• Morning - Energetic workout anthems
  • πŸŒ… Afternoon - Relaxing background music
  • πŸŒ† Evening - Party hits & trending bops
  • πŸŒ™ Late Night - Chill, romantic, lofi vibes

Quick Picks - Regional Trending

Hybrid AI + YouTube algorithm delivering:

  • πŸ”₯ Trending hits in your region
  • ✨ AI-curated mood picks
  • β†Ί Songs from your rotation

Smart Recommendations

Pure algorithmic genius with:

  • 🎭 Mood extraction from song titles
  • 🌏 Regional artist detection (Ali Zafar β†’ Bollywood + Coke Studio)
  • 🎀 Similar artist mapping
  • πŸ“Š Listening history analysis

🎨 Premium User Experience

Beautiful Player Interface

  • πŸ–ΌοΈ Album art with 7-source cascading fallback
  • πŸ“œ Cached lyrics (30-day storage, zero API calls)
  • 🎚️ Smooth progress bar with time tracking
  • πŸ’Ύ Queue management with shuffle/repeat

Blazing Fast Performance

  • ⚑ IndexedDB caching for instant loads
  • πŸ”„ 1-hour cache for Fresh content
  • πŸš€ Parallel searches for speed
  • 🎯 Triple deduplication (no duplicate tracks!)

Intelligent History

  • πŸ“Š Recently played with auto-deduplication
  • πŸ’– Liked songs library
  • 🎡 Personalized playlists based on your taste

πŸ” Seamless Authentication

  • πŸ”‘ Google OAuth integration
  • πŸ—„οΈ Supabase backend for data persistence
  • πŸ‘€ Profile with listening stats

πŸ› οΈ Tech Stack - Built with the Best

Frontend

  • Next.js 16.1 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first styling
  • Shadcn/ui - Beautiful component library
  • Zustand - Lightweight state management
  • IndexedDB (idb-keyval) - Client-side caching

Backend & APIs

  • Supabase - PostgreSQL database + Auth
  • YouTube Music API (ytmusic-api) - Quota-free scraping
  • YouTube Data API v3 - High-quality trending data
  • lrclib.net - Time-synced lyrics
  • Google Gemini (Optional) - AI enhancements

Deployment

  • Vercel - Edge network for global speed

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm
  • Google Cloud Console account
  • Supabase account

Installation

# 1. Clone the repository
git clone https://github.com/yourusername/just-chillin.git
cd just-chillin

# 2. Install dependencies
npm install

# 3. Set up environment variables
cp .env.example .env.local
# Add your API keys (see Configuration section below)

# 4. Run development server
npm run dev

# 5. Open in browser
# Navigate to http://localhost:3000

πŸ”§ Configuration

Create a .env.local file with these variables:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key

# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

# APIs (Optional but recommended)
GEMINI_API_KEY=your_gemini_key
YOUTUBE_API_KEY=your_youtube_key

# NextAuth
NEXTAUTH_SECRET=generate_with_openssl_rand_base64_32
NEXTAUTH_URL=http://localhost:3000

Get Your Keys:


οΏ½ Screenshots

🏠 Home - Discover New Music

Home Page Trending songs, Made for You, Quick Picks, and Mood-based playlists

🎡 Now Playing - Immersive Experience

Now Playing Album art, lyrics, queue, and related tracks

πŸ” Search - Find Anything

Search Instant search across songs, artists, albums, and playlists

πŸ“š Library - Your Collection

Library Liked songs and personalized playlists


οΏ½ Project Structure

just-chillin/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js app router
β”‚   β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”‚   β”‚   β”œβ”€β”€ recommendations/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ made-for-you/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ quick-picks/
β”‚   β”‚   β”‚   β”‚   └── smart/
β”‚   β”‚   β”‚   β”œβ”€β”€ lyrics/
β”‚   β”‚   β”‚   └── trending/
β”‚   β”‚   β”œβ”€β”€ auth/              # Authentication
β”‚   β”‚   └── (pages)/           # App pages
β”‚   β”œβ”€β”€ components/            # React components
β”‚   β”‚   β”œβ”€β”€ home/             # Homepage sections
β”‚   β”‚   β”œβ”€β”€ player/           # Music player UI
β”‚   β”‚   └── ui/               # Reusable UI components
β”‚   β”œβ”€β”€ lib/                   # Utilities & services
β”‚   β”‚   β”œβ”€β”€ youtube/          # YouTube Music integration
β”‚   β”‚   β”œβ”€β”€ recommendations/  # Recommendation engines
β”‚   β”‚   └── gemini.ts         # AI integration
β”‚   β”œβ”€β”€ stores/               # Zustand state management
β”‚   └── types/                # TypeScript definitions
β”œβ”€β”€ public/                    # Static assets
└── docs/                      # Documentation

🎯 Roadmap

Current Features βœ…

  • Smart algorithmic recommendations
  • Time-aware playlists
  • Regional music curation
  • Lyrics support with caching
  • Google authentication
  • Listening history
  • Liked songs library

Coming Soon πŸ”œ

  • Offline Mode - Download songs for offline playback
  • Social Features - Share playlists with friends
  • Collaborative Playlists - Create playlists together
  • Spotify/Apple Music Import - Bring your existing playlists
  • Desktop App - Electron-based native experience
  • Mobile Apps - iOS & Android with React Native
  • Lyrics Karaoke Mode - Sing along with time-synced lyrics
  • Audio Visualizer - Beautiful animations that react to music
  • Equalizer - Customize your sound

🀝 Contributing

We love contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch: git checkout -b feature/amazing-feature
  3. πŸ’Ύ Commit your changes: git commit -m 'Add amazing feature'
  4. πŸ“€ Push to the branch: git push origin feature/amazing-feature
  5. πŸŽ‰ Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Write clean, self-documenting code
  • Test your changes thoroughly
  • Update documentation as needed

πŸ“œ License

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


πŸ™ Acknowledgments

Special thanks to these amazing projects:


πŸ’¬ Community & Support


οΏ½ Stats

GitHub stars GitHub forks GitHub watchers GitHub contributors GitHub last commit GitHub repo size


πŸŽ‰ Start Vibing Today!

Happy Listening! 🎡

About

Just an free will for music Listeners :)...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors