Experience music like never before with intelligent recommendations, seamless streaming, and a stunning interface.
π Live Demo β’ π Documentation β’ π Report Bug β’ β¨ Request Feature
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.
- π€ 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
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
Hybrid AI + YouTube algorithm delivering:
- π₯ Trending hits in your region
- β¨ AI-curated mood picks
- βΊ Songs from your rotation
Pure algorithmic genius with:
- π Mood extraction from song titles
- π Regional artist detection (Ali Zafar β Bollywood + Coke Studio)
- π€ Similar artist mapping
- π Listening history analysis
- πΌοΈ 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
- β‘ IndexedDB caching for instant loads
- π 1-hour cache for Fresh content
- π Parallel searches for speed
- π― Triple deduplication (no duplicate tracks!)
- π Recently played with auto-deduplication
- π Liked songs library
- π΅ Personalized playlists based on your taste
- π Google OAuth integration
- ποΈ Supabase backend for data persistence
- π€ Profile with listening stats
- 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
- 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
- Vercel - Edge network for global speed
- Node.js 18+
- npm/yarn/pnpm
- Google Cloud Console account
- Supabase account
# 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:3000Create 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:3000Get Your Keys:
- π Supabase Setup
- π Google OAuth Setup
- π€ Gemini API Key
- πΊ YouTube API Key
Trending songs, Made for You, Quick Picks, and Mood-based playlists
Album art, lyrics, queue, and related tracks
Instant search across songs, artists, albums, and playlists
Liked songs and personalized playlists
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
- Smart algorithmic recommendations
- Time-aware playlists
- Regional music curation
- Lyrics support with caching
- Google authentication
- Listening history
- Liked songs library
- 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
We love contributions! Here's how you can help:
- π΄ Fork the repository
- πΏ Create a feature branch:
git checkout -b feature/amazing-feature - πΎ Commit your changes:
git commit -m 'Add amazing feature' - π€ Push to the branch:
git push origin feature/amazing-feature - π Open a Pull Request
- Follow TypeScript best practices
- Write clean, self-documenting code
- Test your changes thoroughly
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to these amazing projects:
- ytmusic-api - Quota-free YouTube Music scraping
- Shadcn/ui - Beautiful component library
- Lucide Icons - Crisp, beautiful icons
- lrclib.net - Free lyrics API
- Supabase - Open-source Firebase alternative
- Vercel - Deployment platform
- π‘ Feature Requests - Open an issue
- π Bug Reports - Report a bug
- π¬ Discussions - Join the conversation
- π§ Email - your-email@example.com