Skip to content

GlyphicGuy/Cooked

Repository files navigation

COOKED.

Judge My Taste.

Cooked. is a Next.js application that uses Artificial Intelligence to ruthlessly roast your music listening history. By integrating with Spotify and YouTube, it analyzes your top artists and liked videos, sending the data to Google's Gemini AI to generate a sarcastic, brutal, and comedic assessment of your personality.

⚡ Features

  • Dual Integration: Connects with both Spotify (User Top Read) and YouTube (ReadOnly) to gather data.
  • Gemini 1.5 Flash: Utilizes Google's latest lightweight model with custom prompting for maximum snark.
  • Unfiltered Mode: Custom safety setting overrides allow the AI to actually "roast" without holding back.
  • Brutalist UI: A dark, industrial aesthetic featuring pixel typography (Bitcount) and glassmorphism.
  • Fluid Animations: Interactive background blobs powered by Framer Motion that react to mouse movement.
  • Transient Processing: User data is processed in-memory and never stored in a database.

🛠️ Tech Stack

🚀 Getting Started

1. Clone the repository

git clone [https://github.com/your-username/cooked.git](https://github.com/your-username/cooked.git)
cd cooked

2. Install Dependencies

npm install
# Ensure you have the specific AI and Animation libraries
npm install framer-motion @google/generative-ai

3. Environment Setup

Create a .env.local file in the root directory. You will need API credentials from Spotify Developers, Google Cloud Console, and Google AI Studio.

# .env.local

# Spotify Configuration
SPOTIFY_CLIENT_ID="your_spotify_id"
SPOTIFY_CLIENT_SECRET="your_spotify_secret"

# Google/YouTube Configuration
GOOGLE_CLIENT_ID="your_google_cloud_id"
GOOGLE_CLIENT_SECRET="your_google_cloud_secret"

# Gemini AI (The Brain)
GEMINI_API_KEY="your_gemini_api_key"

# Redirect URIs (MUST match your dashboard settings)
# For Localhost:
REDIRECT_URI="http://localhost:3000/api/callback"
GOOGLE_REDIRECT_URI="http://localhost:3000/api/callback-youtube"
#For Production (Netlify):

REDIRECT_URI="[https://your-site.netlify.app/api/callback](https://your-site.netlify.app/api/callback)"

GOOGLE_REDIRECT_URI="[https://your-site.netlify.app/api/callback-youtube](https://your-site.netlify.app/api/callback-youtube)"

4. Run the Development Server

npm run dev

Open http://localhost:3000 with your browser to see the result.


🔑 OAuth Configuration Guide

To make the logins work, you must whitelist your Redirect URIs in the respective developer portals.

Spotify Developer Dashboard

  1. Create an App.
  2. Edit Settings -> Redirect URIs.
  3. Add: http://localhost:3000/api/callback (and your Production URL).

Google Cloud Console

  1. Create a Project.
  2. Enable YouTube Data API v3.
  3. Create OAuth 2.0 Credentials.
  4. Authorized Redirect URIs: http://localhost:3000/api/callback-youtube (and your Production URL).
  5. Note: While in testing, you must manually add tester emails to the "OAuth Consent Screen" section, or the login will fail with a 403 error.

📂 Project Structure

src/
├── app/
│   ├── api/                # Backend Routes
│   │   ├── login/          # Spotify Auth Start
│   │   ├── callback/       # Spotify Auth End
│   │   ├── roast/          # Gemini AI Logic
│   │   └── ...             # YouTube routes
│   ├── roast/              # The Result Page
│   ├── privacy/            # Privacy Policy
│   ├── globals.css         # Global Styles & Noise Texture
│   ├── layout.js           # Root Layout
│   └── page.js             # Landing Page (Home)
├── components/
│   └── FluidBackground.js  # The floating blob animation
└── fonts/                  # Local font files (Bitcount/Silkscreen)

🛡️ Privacy & Safety

available at Privacy & Policy page

  • Data Handling: This app specifically uses a "Transient" data approach. It fetches your data, sends it to the AI prompt, and immediately discards it. No user data is saved to a database.
  • AI Safety: To ensure the roast is actually funny/mean, standard Gemini safety filters (Harassment, Hate Speech) are set to BLOCK_NONE within the API route.
  • Revoking Access: Users can disconnect the app at any time via their Spotify Apps or Google Permissions settings.

⚖️ License

This project is open-source and available under the MIT License.


= Est. 2025 / Operational / Cooked. =

About

It roasts your music taste by connecting to Spotify or YouTube Music

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published