Skip to content

Rantify is a web application that integrates Spotify with LLMs for generating reviews and rhymes on a given Spotify playlist.

License

Notifications You must be signed in to change notification settings

SadiJunior/rantify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rantify

The Internet's busiest AI playlist reviewer.


Rantify is a web application that integrates Spotify with LLMs for generating reviews and rhymes on a given Spotify playlist.

Demo

Rantify Demo

Tech Stack

Getting Started

Prerequisites

Here's what you need to be able to run Rantify:

API Keys for Spotify and OpenAI:

1. Clone the repository

git clone https://github.com/SadiJunior/rantify.git
cd rantify

2. Create and activate Python virtual environment

python -m venv .venv

.venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows

3. Install dependencies

python -m pip install --upgrade pip
pip install -r requirements.txt

4. Create environment (.env) file

cp .env.example .env # Linux/macOS
copy .env.example .env # Windows

code .env

5. Update the environment variables in .env

# Flask app information
FLASK_CONFIG=development

# Session information
SECRET_KEY=<your-secret-key>

# Spotify information
SPOTIFY_CLIENT_ID=<your-spotify-client-id>
SPOTIFY_CLIENT_SECRET=<your-spotify-client-secret>
SPOTIFY_REDIRECT_URI=<your-spotify-redirect-uri>

# OpenAI information
OPENAI_API_KEY=<your-openai-api-key>
OPENAI_LLM_MODEL=gpt-4o-mini

6. Run the Flask dev server

flask run

7. Open the app in your browser

Visit http://localhost:5000 in your browser.

Known Issues

  • Error when Logging in: Currently, the app is in development mode and needs to be accepted by Spotify for public release.
  • Dangerous site warning: Sometimes Google Chrome may display a "Dangerous site" warning when trying to Log in with Spotify OAuth. You may proceed by clicking on "Details" and then "Visit this unsafe site."

Future Expansion

Features

  • Social Media integration: Make the output shareable for social media. Generate Instagram Stories and Twitter posts for example.
  • More User Options: Add options for generating rants on a user's top 10 most listened songs for a given time period or favorite artists.
  • Streaming Services Integration: Add support for other music streaming services like Apple Music or Last.fm.

Contributing

Rantify is a small open-source project, but I'd welcome contributions from the community.

If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.

License

MIT License - Copyright (c) 2024 Sadi Junior