Skip to content

iCrazeiOS/Vibelist

Repository files navigation

Vibelist

AI-powered Spotify playlist filter. Log in with Spotify, select a playlist, describe a vibe, and get a new playlist with only the tracks that match.

Features

  • Vibe filtering — describe a mood (e.g. "late night drive", "workout energy") and AI scores every track 0-100
  • Genre boost — optionally focus results toward a specific genre
  • Target size — slider to control how many tracks end up in the new playlist
  • Similar track discovery — optionally find tracks beyond your playlist that match the vibe
  • Drag-select — click and drag across checkboxes to quickly select/deselect tracks
  • Streaming results — tracks appear progressively as AI processes them
  • Privacy matching — new playlists inherit the source playlist's public/private setting

Tech Stack

Prerequisites

Setup

  1. Clone the repo:

    git clone https://github.com/iCrazeiOS/Vibelist.git
    cd Vibelist
  2. Install dependencies:

    bun install
  3. Copy the example env file and fill in your credentials:

    cp .env.example .env.local
    Variable Description
    SPOTIFY_CLIENT_ID From your Spotify Developer dashboard
    SPOTIFY_CLIENT_SECRET From your Spotify Developer dashboard
    SPOTIFY_REDIRECT_URI Must match a redirect URI registered in your Spotify app (e.g., http://127.0.0.1:3000/api/auth/callback for local dev, or your deployment URL)
    AI_PROVIDER anthropic (default), openai, or gemini
    ANTHROPIC_API_KEY Required if AI_PROVIDER=anthropic
    OPENAI_API_KEY Required if AI_PROVIDER=openai
    GEMINI_API_KEY Required if AI_PROVIDER=gemini
    COOKIE_SECRET Any random 32+ character string
  4. In your Spotify app settings, add your redirect URI (e.g., http://127.0.0.1:3000/api/auth/callback for local dev). This must exactly match SPOTIFY_REDIRECT_URI in your .env.local.

  5. Start the dev server:

    bun dev
  6. Open http://127.0.0.1:3000 in your browser.

Spotify Dev Mode Limitations

Spotify's developer platform restricts apps in development mode:

  • Only your own account can log in (unless you add users in the Spotify dashboard)
  • Only playlists you own or collaborate on are accessible
  • Some API endpoints have lower rate limits

Scripts

Command Description
bun dev Start development server
bun run build Production build
bun start Start production server
bun run lint Run ESLint
bun run format Format all files with Prettier
bun run format:check Check formatting without writing
bun run typecheck Run TypeScript type checking
bun test Run all tests
bun run check Run all checks (types, lint, format, tests)

License

AGPL-3.0

About

AI-powered Spotify playlist filter. Log in with Spotify, select a playlist, describe a vibe, and get a new playlist with only the tracks that match.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages