Playlistfy
Pricing
from $100.00 / 1,000 results
Pricing
from $100.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamil Khan
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
14 days ago
Last modified
Categories
Share
Playlistify AI ๐ต
Most playlist tools react. Playlistify learns.
Playlistify AI is not a playlist generator. It's a personal music agent that learns your emotional patterns and intent over time, then proactively creates and evolves Spotify playlists to support focus, mood, and daily routines.
๐ Live Application: playlistify.up.railway.app
๐ Pro Version (Apify): apify.com/viverun/playlistfy
๐ง What Makes Playlistify AI Different
| Traditional Playlist Generators | Playlistify AI |
|---|---|
| Enter mood โ get playlist | Understands emotional intent behind your words |
| Forgets you after each use | Remembers your preferences and evolves |
| Waits for commands | Proactively suggests based on patterns |
| Dumps raw tracks | Explains why it chose each track |
| Static output | Playlists that evolve based on feedback |
"This week you've been stressed. I kept energy low and vocals minimal."
๐ Built for Hack This Fall 2025
The Vision
Music is not trivial. Music is memory, emotion, routine, identity.
We built Playlistify AI to be emotionally intelligent โ a system that doesn't just respond to "play happy music," but understands:
- "I need something to survive a 2am debugging session"
- "Music that feels like quiet confidence before a presentation"
- "Background vibes that won't distract me while I write"
Core Pillars
| Pillar | Description |
|---|---|
| ๐ฏ Intent > Mood | We parse emotional context, not just keywords |
| ๐ง Agent Memory | Learns what you like at different times and adapts |
| โก Agentic Behavior | Suggests playlists without being asked |
| ๐ฌ Explainability | Every playlist comes with reasoning |
| ๐ Evolution | Playlists improve based on your feedback |
| ๐ Privacy-First | We store derived preferences, never raw data |
๐ฅ Team DDoxer
| Team Member | Role | Connect |
|---|---|---|
| Avanish Kasar | Lead Developer | |
| Jamil | Co-Developer |
โจ Features in Detail
1. ๐ฏ Natural Language Intent Understanding
Not just "happy music" โ we understand context:
Input: "Late night coding session, low stress"Parsed Intent:โโโ Emotional State: focused, calmโโโ Activity: codingโโโ Time Context: late-nightโโโ Target Energy: mediumโโโ BPM Range: 100-130โโโ Vocal Preference: instrumentalโโโ Suggested Genres: electronic, lo-fi, ambient
2. ๐ง Agent Memory System
Playlistify AI remembers you:
- What worked: Tracks you liked, playlists you loved
- What didn't: Songs you skipped, vibes that missed
- When you listen: Morning vs. late-night preferences
- How you evolve: Your taste fingerprint develops over time
// Every interaction teaches the agent"Last time you liked lo-fi + low BPM at night. I kept that energy."
3. โก Proactive Suggestions
The agent acts without being asked:
"You usually listen around this time. Want a fresh focus playlist?"
Based on:
- Habitual listening times
- Day-of-week patterns
- Recent mood trends
4. ๐ฌ Explainability Layer
Every playlist explains why:
"I picked tracks that match your 'focused' mood for coding, at late-night. I kept the energy medium and chose low-vocal tracks based on your past preferences."
5. ๐ Playlist Evolution
Playlists are systems, not outputs:
- Like/Skip buttons on every track
- Feedback influences future generations
- Weekly refresh suggestions
- One-click modifications ("more energy", "less vocals")
6. ๐ Privacy-First Design
- We store only derived preferences, never raw listening history
- Local JSON storage (no external DB required)
- One-click data export (GDPR compliance)
- Clear all data anytime
๐ธ Screenshots
๐ฅ Video Demo
๐ ๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ PLAYLISTIFY AI โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโคโ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Frontend โโโโโถโ Express.js โโโโโถโ Agentic Engine โ โโ โ (Liquid UI) โ โ API โ โ (Brain of the app) โ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โ โโ โผ โผ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Spotify โ โ Intent Engine โ โโ โ Handler โ โ (NLP Understanding) โ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โ โโ โผ โผ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Spotify โ โ Agent Memory โ โโ โ Web API โ โ (Learning System) โ โโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โโ โผ โโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Local JSON Store โ โโ โ (Privacy-First) โ โโ โโโโโโโโโโโโโโโโโโโโโโโโ โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key Components
| Component | File | Purpose |
|---|---|---|
| Agent Memory | src/agentMemory.ts | Persistent learning system |
| Intent Engine | src/intentEngine.ts | Natural language understanding |
| Agentic Engine | src/agenticEngine.ts | Proactive behavior & orchestration |
| Spotify Handler | src/spotifyHandler.ts | Spotify API integration |
| Main API | src/main.ts | Express server & endpoints |
๐ ๏ธ Tech Stack
| Category | Technology |
|---|---|
| Runtime | Node.js 20+ |
| Language | TypeScript |
| Backend | Express.js |
| Frontend | Vanilla HTML/CSS/JS with iOS Liquid Glass Theme |
| API Integration | Spotify Web API |
| NLP | Custom intent engine with 50+ emotional concepts |
| Memory | JSON-based persistent storage |
| Containerization | Docker |
| Hosting | Railway |
| Pro Version | Apify Actor with MCP Tools |
๐ฏ How It Works
- Input: Describe your ideal playlist in natural language
- Analysis: NLP engine extracts mood, genre, tempo, and era
- Search: Dual-strategy approach finds the perfect tracks
- Curation: Smart filtering removes duplicates and optimizes flow
- Output: Get a polished playlist ready to enjoy
๐ Quick Start
Try It Now
Visit playlistify.up.railway.app and start creating playlists instantly!
Run Locally
-
Clone the repository:
git clone https://github.com/avanishkasar/Playlistify-AI.gitcd Playlistify-AI -
Install dependencies:
$npm install -
Configure environment (optional for testing):
The app includes default credentials for quick testing. For production, create a
.envfile:SPOTIFY_CLIENT_ID=your_client_idSPOTIFY_CLIENT_SECRET=your_client_secretSPOTIFY_REFRESH_TOKEN=your_refresh_tokenPORT=3001 -
Start the development server:
$npm run devOpen
http://localhost:3001in your browser.
๐ API Reference
๐ง Agentic Endpoints (New!)
Generate Playlist (Agentic)
Endpoint: POST /api/generate-playlist
The brain of the operation. Parses intent, generates recommendations, creates playlist, explains choices, and updates memory.
Request:
{"prompt": "I need focus music for a late night coding session","userId": "user-123"}
Response:
{"playlist": {"id": "...","name": "Late Night Coding Focus","uri": "spotify:playlist:..."},"tracks": [...],"explanation": {"summary": "I picked tracks that match your 'focused' mood for coding...","factors": [{ "factor": "Emotional State", "value": "focused, calm", "reasoning": "..." }],"personalizations": ["Based on your preference for lo-fi at night..."]},"modifications": [{ "action": "increase_energy", "label": "More energy" },{ "action": "decrease_vocals", "label": "Less vocals" }],"memoryId": "playlist-uuid"}
Proactive Suggestion
Endpoint: GET /api/proactive-suggestion?userId=user-123
Check if the agent has a proactive suggestion based on user patterns.
Response:
{"hasSuggestion": true,"suggestion": {"type": "habitual_time","message": "You usually listen around this time. Want a fresh focus playlist?","suggestedPrompt": "focus music","confidence": 0.85}}
Parse Intent (Preview)
Endpoint: POST /api/parse-intent
Preview how the system understands your input before generating.
Request:
{"prompt": "melancholic indie for a rainy evening","userId": "user-123"}
Response:
{"emotionalState": {"primary": "melancholic","secondary": ["nostalgic", "reflective"],"intensity": 0.7},"audioParams": {"energy": 0.4,"bpmRange": [70, 100],"preferredGenres": ["indie", "folk"],"vocalPreference": "soft-vocals"},"reasoning": [...]}
Track Feedback
Endpoint: POST /api/feedback/track
Record like/skip actions on individual tracks.
Request:
{"userId": "user-123","memoryId": "playlist-uuid","trackId": "spotify:track:...","action": "like"}
Playlist Rating
Endpoint: POST /api/feedback/playlist
Rate an entire playlist (1-5 stars).
Request:
{"userId": "user-123","memoryId": "playlist-uuid","rating": 4,"keepFavorites": ["track1", "track2"]}
Get Taste Profile
Endpoint: GET /api/taste-profile?userId=user-123
Get the user's learned taste fingerprint.
Response:
{"profile": {"dominantMoods": ["focused", "calm", "energetic"],"genreAffinities": {"lo-fi": 0.8,"electronic": 0.6,"indie": 0.5},"timePreferences": {"morning": { "mood": "energetic", "genre": "pop" },"night": { "mood": "calm", "genre": "lo-fi" }}}}
Evolve Playlist
Endpoint: POST /api/evolve-playlist
Refresh/evolve a playlist based on feedback and new preferences.
Request:
{"userId": "user-123","memoryId": "playlist-uuid","keepFavorites": true,"direction": "more_energy"}
Clear Memory (Privacy)
Endpoint: DELETE /api/memory?userId=user-123
Delete all stored preferences for a user.
Export Data (GDPR)
Endpoint: GET /api/export-data?userId=user-123
Export all user data in JSON format.
๐ต Legacy Endpoints
Generate Playlist (Simple)
Endpoint: POST /mcp
Request:
{"prompt": "Upbeat jazz for cooking"}
Response:
{"tracks": [{"name": "Track Name","artist": "Artist Name","uri": "spotify:track:..."}]}
๐ Deployment
Deploy Your Own Instance
This project is optimized for Railway deployment:
- Fork this repository
- Sign up at Railway
- Create New Project โ Deploy from GitHub
- Select your forked repo
- Railway auto-detects the Dockerfile and deploys
Railway provides:
- โ Automatic HTTPS
- โ Environment variable management
- โ Auto-deploy on git push
- โ Free tier available
๐ Example Prompts
Emotional Context (What Sets Us Apart)
The agent understands intent, not just keywords:
| What You Say | What We Understand |
|---|---|
| "I need to survive a 2am debugging session" | Late-night + focus + low energy + instrumental |
| "Music that feels like quiet confidence" | Calm assertiveness + medium tempo + minimal lyrics |
| "Background vibes that won't distract me" | Ambient + low vocals + steady rhythm |
| "Getting pumped for my presentation" | Pre-performance energy + motivational + building intensity |
Traditional Prompts (Still Work Great)
- "Energetic workout songs from the 2000s"
- "Relaxing acoustic guitar for Sunday morning"
- "Dark electronic music for late night coding"
- "Happy pop songs for a road trip"
- "Melancholic indie rock for introspection"
Multi-Language Support
- "เคเฅเคถ เคเคพเคจเฅ เคธเฅเคฌเคน เคเฅ เคฒเคฟเค" (Happy songs for morning - Hindi)
- "เฎเฎฐเฎตเฏ เฎจเฏเฎฐเฎคเฏเฎคเฎฟเฎฑเฏเฎเฎพเฎฉ เฎฎเฏเฎคเฏเฎตเฎพเฎฉ เฎชเฎพเฎเฎฒเฏเฎเฎณเฏ" (Slow songs for night - Tamil)
- "เฐจเฐพ เฐเฐฟเฐฎเฑ เฐตเฐฐเฑเฐเฑเฐเฑ เฐเฑเฐธเฐ เฐเฐจเฐฐเฑเฐเฑเฐเฐฟเฐเฑ เฐชเฐพเฐเฐฒเฑ" (Energetic songs for gym - Telugu)
๐ง How the Agent Learns
The Feedback Loop
1. You generate a playlistโ2. Agent stores the intent + characteristicsโ3. You interact (like/skip tracks, rate playlist)โ4. Agent updates your taste profileโ5. Next time: more personalized recommendations
What Gets Stored (Privacy-First)
โ We store:
- Derived preferences (e.g., "prefers lo-fi at night")
- Aggregated feedback patterns
- Time-based listening tendencies
โ We never store:
- Raw listening history
- Personal information
- Track-by-track logs
Your Taste Fingerprint
Over time, the agent builds a profile like:
{"dominantMoods": ["focused", "calm"],"genreAffinities": { "lo-fi": 0.8, "electronic": 0.6 },"timePreferences": {"night": { "mood": "calm", "genre": "ambient" },"morning": { "mood": "energetic", "genre": "pop" }},"avoidPatterns": ["heavy-metal", "aggressive-vocals"]}
๐ Pro Version (Apify)
For developers and power users, we offer a Pro version on Apify with MCP (Model Context Protocol) tools:
MCP Tools Available:
search-track- Search Spotify tracks by queryrecommend- Get AI-powered track recommendationscreate-playlist- Create playlists directly on Spotify
Pricing: Pay per event (API call) - perfect for automation and integrations!
๐ค Contributing
Contributions are welcome! Feel free to:
- ๐ Report bugs
- ๐ก Suggest new features
- ๐ง Submit pull requests
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with Spotify Web API
- Deployed on Railway
- Pro Version on Apify
- Powered by TypeScript and Node.js
- Built for Hack This Fall 2025 ๐
๐ Why Playlistify AI Should Win
"Most AI tools react. This one learns. This one remembers. This one feels human."
| Criteria | Our Answer |
|---|---|
| Innovation | First playlist tool that combines agent memory + emotional intent + proactive behavior |
| Technical Depth | 3 new cognitive modules, 50+ emotional concepts, persistent learning |
| User Impact | Music that matches your emotional state, not just keywords |
| Privacy | Derived preferences only, full data export, one-click deletion |
| Scalability | JSON storage = no DB required, works anywhere |