Files
vynl/DESIGN.md
root 155cbd1bbf Initial MVP: full-stack music discovery app
Backend (FastAPI):
- User auth with email/password and Spotify OAuth
- Spotify playlist import with audio feature extraction
- AI recommendation engine using Claude API with taste profiling
- Save/bookmark recommendations
- Rate limiting for free tier (10 recs/day, 1 playlist)
- PostgreSQL models with Alembic migrations
- Redis-ready configuration

Frontend (React 19 + TypeScript + Vite + Tailwind):
- Landing page, auth flows (email + Spotify OAuth)
- Dashboard with stats and quick discover
- Playlist management and import from Spotify
- Discover page with custom query support
- Recommendation cards with explanations and save toggle
- Taste profile visualization
- Responsive layout with mobile navigation
- PWA-ready configuration

Infrastructure:
- Docker Compose with PostgreSQL, Redis, backend, frontend
- Environment-based configuration
2026-03-30 15:53:39 -05:00

6.7 KiB

Vynl - AI Music Discovery

Tagline

"Dig deeper. Discover more."

What It Does

Import your playlists from any streaming platform, drop in a song or artist, and Vynl's AI finds music you'll love - from underground gems to hidden tracks from artists you already know. It tells you why you'll like it, not just what to listen to.

Target Audience

  • Music lovers who feel stuck in algorithm bubbles
  • People who use multiple streaming platforms
  • Playlist curators
  • Anyone who misses the feeling of discovering new music

Core Features

Free Tier

  • Import 1 playlist (up to 50 songs)
  • Search by artist or song
  • 10 AI recommendations per day
  • Basic "similar to" recommendations
  • Export recommendations as text list

Pro Tier ($4.99/month)

  • Unlimited playlist imports from all platforms
  • Unlimited AI recommendations
  • Deep analysis: mood, tempo, era, production style, lyrical themes
  • "Go deeper" mode - find underground/indie artists in the same space
  • "Time machine" - find music from a specific era that matches your taste
  • "Mood shift" - "I like this but want something darker/faster/mellower"
  • Export playlists directly back to Spotify/Apple Music/YouTube Music/Tidal
  • Recommendation history and saved discoveries
  • "Why you'll like this" AI explanations
  • Cross-platform playlist sync

Platform Support

Import From

  • Spotify (API - OAuth)
  • Apple Music (MusicKit API)
  • YouTube Music (ytmusicapi)
  • Tidal (API)
  • Last.fm (scrobble history)
  • Manual entry (paste song/artist name)
  • CSV/text file upload

Export To

  • Spotify (create playlist via API)
  • Apple Music (create playlist via MusicKit)
  • YouTube Music (create playlist via API)
  • Tidal (create playlist via API)
  • CSV/shareable link

Tech Stack

Backend

  • Python 3.12+ / FastAPI
  • PostgreSQL (users, playlists, recommendations, history)
  • Redis (caching, rate limiting, session)
  • Celery (async playlist analysis, background jobs)

Frontend

  • React 19 + TypeScript + Vite
  • Tailwind CSS
  • Mobile: React Native or PWA (progressive web app)

AI/ML

  • Claude API for intelligent recommendations with explanations
  • Spotify Audio Features API (tempo, energy, danceability, valence, acousticness)
  • MusicBrainz API (artist relationships, genres, tags)
  • Last.fm API (similar artists, tags, listener stats)
  • Audio embeddings for sonic similarity (optional - Essentia/Librosa)

Infrastructure

  • Azure App Service or self-hosted (like BillWise)
  • Stripe for payments
  • OAuth 2.0 for all streaming platform connections

AI Recommendation Engine

How It Works

User imports playlist or enters song/artist
         │
         ▼
Gather metadata from all sources:
  - Spotify: audio features (tempo, key, energy, mood)
  - MusicBrainz: genres, relationships, tags
  - Last.fm: similar artists, listener overlap
  - Lyrics analysis (optional)
         │
         ▼
Build "taste profile":
  - Genre distribution
  - Mood/energy preferences
  - Era preferences
  - Production style (acoustic vs electronic, raw vs polished)
  - Lyrical themes
         │
         ▼
Claude AI analyzes profile + user request:
  "Based on your love of [specific patterns], here are artists
   you likely haven't heard that share [specific qualities]"
         │
         ▼
Filter and rank recommendations:
  - Exclude what user already has
  - Prioritize lesser-known artists (discovery factor)
  - Include preview links
  - Generate "why you'll like this" for each

Example Prompts to Claude

  • "My playlist is 60% indie rock, 20% shoegaze, 20% post-punk. Find me 10 artists I probably haven't heard."
  • "I love the production style of Tame Impala but want something with female vocals and darker lyrics."
  • "Find songs from the 80s that match the energy of my playlist but aren't the obvious hits."

Data Model

Users

  • id, email, name, plan (free/pro), created_at
  • connected_platforms (spotify_token, apple_token, etc.)

Playlists

  • id, user_id, platform_source, name, track_count, imported_at
  • taste_profile (JSON - computed analysis)

Tracks

  • id, title, artist, album, isrc
  • spotify_id, apple_id, youtube_id, tidal_id
  • audio_features (tempo, energy, key, etc.)
  • genres, tags, mood

Recommendations

  • id, user_id, source_playlist_id, recommended_track_id
  • reason (AI explanation), score, created_at
  • user_feedback (liked/disliked/saved)

Discovery Sessions

  • id, user_id, query, mode (similar/deeper/mood/era)
  • results, created_at

Monetization

Free

  • Limited to 10 recommendations/day
  • 1 playlist import
  • No export to streaming platforms
  • Ads (tasteful, music-related)

Pro ($4.99/month or $39.99/year)

  • Unlimited everything
  • All export features
  • Priority AI processing
  • No ads

Potential Revenue Streams

  • Affiliate links to streaming platforms
  • Artist promotion (paid placement in "sponsored discovery")
  • API access for other apps
  • Data insights for labels (anonymized trends)

Competitive Landscape

Product What It Does Vynl Advantage
Spotify Discover Weekly Algorithm-based weekly playlist Only works within Spotify, no cross-platform
Last.fm Scrobble tracking + similar artists No AI explanations, stale recommendations
EveryNoise Genre exploration map Academic, not personalized
Maroofy Song similarity search Single song only, no playlist analysis
Chosic Spotify playlist analyzer Spotify only, basic recommendations
Discoverify Spotify discovery tool Spotify only

Vynl's edge: Cross-platform + AI that explains WHY + deep/underground discovery + mood/era controls

MVP (v1.0) Scope

Must Have

  • User auth (email + OAuth)
  • Spotify playlist import
  • Manual song/artist search
  • AI recommendations (Claude API)
  • "Why you'll like this" explanations
  • Basic taste profile display
  • Save/bookmark recommendations
  • Responsive web app

Nice to Have (v1.1)

  • Apple Music import/export
  • YouTube Music import/export
  • Export playlist to Spotify
  • "Go deeper" underground mode
  • Mood shift controls

Future (v2.0)

  • Tidal, Last.fm, Deezer support
  • Mobile app (React Native)
  • Social features (share discoveries, follow curators)
  • "Listening rooms" - real-time shared discovery sessions
  • Artist dashboard (see who's discovering your music)

Brand Identity

  • Name: Vynl
  • Vibe: Warm, analog nostalgia meets modern AI
  • Colors: Deep purple/violet (#7C3AED) + warm cream (#FFF7ED) + charcoal (#1C1917)
  • Font: Something with character - not sterile tech (Inter for body, custom display font)
  • Logo: Stylized vinyl record with AI circuit pattern in the grooves
  • Voice: Music-nerd friendly, never pretentious, excited about discovery