Every moment deserves its soundtrack.
VibeCheck is a 1-tap music experience that detects your current location and weather, analyzes the mood using AI, and generates a Spotify playlist that perfectly matches your vibe.
- 🌍 Auto-detects your location (Geolocation API)
- ☁️ Fetches real-time weather data (OpenWeatherMap API)
- 🧠 Uses a Large Language Model (LLM) to analyze mood
- 🎵 Generates Spotify playlists using Spotify Web API
- 🛠 Built with React, TailwindCSS, and Supabase
- User taps "VIBE CHECK"
- Geolocation API fetches location
- OpenWeatherMap API gets real-time weather
- LLM interprets mood from environment
- Spotify Web API plays a curated playlist
- Your surroundings are turned into music — instantly
| Layer | Tech Used |
|---|---|
| Frontend | React, TailwindCSS |
| Backend | Supabase |
| APIs | Geolocation, OpenWeatherMap, Spotify Web API |
| AI | LLM (for mood analysis) |
- Spotify Integration: Connect your Spotify account to share your music taste
- Mood-Based Recommendations: Get personalized music recommendations based on your current mood
- Friend System: Add friends and manage friend requests with a comprehensive status system
- Real-time Chat: Chat with friends and share music recommendations
- Profile Management: Customize your profile with top artists and songs
The platform includes a comprehensive friend request system with the following features:
- Pending: Friend request has been sent but not yet responded to
- Accepted: Friend request has been accepted, users are now friends
- Rejected: Friend request has been rejected and removed
- Cancelled: Friend request has been withdrawn by the sender
- Send Request: Add friends by their email address
- Accept Request: Accept incoming friend requests
- Reject Request: Reject incoming friend requests
- Withdraw Request: Cancel a sent friend request
- Remove Friend: Remove an accepted friendship
- Friend: Green badge for accepted friendships
- Request Sent: Yellow badge for pending requests you sent
- Request Received: Blue badge for pending requests you received
- Cancelled: Gray badge for cancelled requests
The application uses Supabase with the following key tables:
- profiles: User profile information
- friends: Friend relationships with status tracking
- chat_rooms: Chat room management
- chat_participants: Chat room membership
- chat_messages: Message storage
- Clone the repository
- Install dependencies:
npm install - Set up your Supabase project and run the schema migration
- Configure environment variables
- Start the development server:
npm run dev
Create a .env file with the following variables:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_SPOTIFY_CLIENT_ID=your_spotify_client_id
VITE_SPOTIFY_REDIRECT_URI=your_spotify_redirect_uri




