
Discord music intelligence bot using Spotify audio feature vectors for cosine-similarity recommendations and Music DNA profiles
A TypeScript Discord bot that turns a server into a music ecosystem. Users import Spotify playlists and the bot stores 8 audio feature vectors (energy, danceability, valence, tempo, etc.) per track. A recommendation engine computes each user's taste vector and surfaces songs from others' playlists via cosine similarity and collaborative filtering. Commands surface Music DNA archetypes, music twins, taste distance scores, and a daily randomly-picked song.
Spotify-powered Discord music intelligence bot with cosine similarity recommendations.
• Stack: TypeScript / Node.js 20+, discord.js v14, PostgreSQL via pg, Spotify Web API, node-cron, Docker Compose.
• Data model: users, songs (with 8 audio features), playlists, taste_vectors (precomputed per user), user_similarity (pairwise cosine cache), daily_history.
• Recommendation: Layer 1: content-based cosine similarity on taste vectors; Layer 2: collaborative filtering via users with similar vectors.
• Music DNA: per-user archetype (Party Starter, Chill Wanderer, Indie Explorer, etc.) from energy, mood, danceability, acousticness averages; obscurity = 100 − average Spotify popularity.
• Commands: /addplaylist, /recommend, /musicdna, /musictwin, /tastedistance, /compatibility, /discover, /tasteleaderboard, /tasteprofile.
• Automation: daily-song cron job posts a random user's track to a configured channel.