Skip to content

genmini-ai/roastify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

roastify - DISS TRACK GENERATOR

Any2Any Content Transformation Engine - 5 Hour Hackathon Build

๐ŸŽฏ Project Overview

Transform any social media profile (LinkedIn/Twitter) into a personalized rap diss track with AI-generated lyrics, voice synthesis, and auto-generated music video. This showcases our any2any content transformation engine in the most memorable way possible.

Roastify Demo Generated rap roast video with AI lyrics, custom beats, and dynamic visuals

๐Ÿš€ Quick Start

# Clone repo
git clone https://github.com/genmini-ai/roastify
cd diss-track-generator

# Setup environment
cp .env.example .env
# Add your API keys:
# - OPENAI_API_KEY (GPT-5/GPT-4)
# - ANTHROPIC_API_KEY (Claude for backup)
# - ELEVENLABS_API_KEY (Voice synthesis)
# - REPLICATE_API_KEY (Video generation)
# - BROWSERLESS_API_KEY (Web scraping)

# Install dependencies
pip install -r backend/requirements.txt
cd frontend && npm install && cd ..

# Run everything
docker-compose up

# Or run separately
python backend/app.py
cd frontend && npm start

Visit http://localhost:3000

๐Ÿ—๏ธ Architecture

Input (LinkedIn/Twitter URL)
    โ†“
Profile Scraper (Playwright/Browserless)
    โ†“
LLM Analysis (GPT-5)
    โ†“
Lyrics Generation (GPT-5 with prompts)
    โ†“
Parallel Processing:
    โ”œโ”€โ”€ Audio Generation (ElevenLabs)
    โ””โ”€โ”€ Beat Selection (Pre-made)
    โ†“
Audio Mixing (Pydub)
    โ†“
Video Generation (Replicate/Local)
    โ†“
Multi-format Export (Showcase any2any)

๐Ÿ“ Project Structure

diss-track-generator/
โ”œโ”€โ”€ README.md                     # This file
โ”œโ”€โ”€ docker-compose.yml           # One-click setup
โ”œโ”€โ”€ .env.example                 # Environment template
โ”‚
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ requirements.txt        # Python dependencies
โ”‚   โ”œโ”€โ”€ app.py                  # FastAPI server
โ”‚   โ”œโ”€โ”€ scraper.py             # Profile scraping (LinkedIn/Twitter)
โ”‚   โ”œโ”€โ”€ analyzer.py            # LLM-based profile analysis
โ”‚   โ”œโ”€โ”€ generator.py           # Lyrics generation pipeline
โ”‚   โ”œโ”€โ”€ audio.py               # Voice synthesis & mixing
โ”‚   โ”œโ”€โ”€ video.py               # Video generation
โ”‚   โ”œโ”€โ”€ transformer.py         # Any2any transformation engine
โ”‚   โ””โ”€โ”€ demo.py                # Demo optimizations
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ package.json           # Node dependencies
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx           # Main React app
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ URLInput.jsx  # URL input component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Generator.jsx # Generation progress
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Player.jsx    # Audio/video player
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ Transformer.jsx # Format transformer
โ”‚   โ”‚   โ””โ”€โ”€ utils/
โ”‚   โ”‚       โ”œโ”€โ”€ api.js        # Backend API calls
โ”‚   โ”‚       โ””โ”€โ”€ demo.js       # Demo helpers
โ”‚   โ””โ”€โ”€ public/
โ”‚       โ””โ”€โ”€ index.html
โ”‚
โ”œโ”€โ”€ prompts/
โ”‚   โ”œโ”€โ”€ profile_analysis.md   # Profile analysis prompt
โ”‚   โ”œโ”€โ”€ lyrics_generation.md  # Rap lyrics prompt
โ”‚   โ”œโ”€โ”€ roast_angles.md      # Roasting strategies
โ”‚   โ””โ”€โ”€ transformations.md    # Any2any prompts
โ”‚
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ beats/                # Pre-made instrumentals
โ”‚   โ”‚   โ”œโ”€โ”€ trap_beat.mp3
โ”‚   โ”‚   โ”œโ”€โ”€ boom_bap.mp3
โ”‚   โ”‚   โ””โ”€โ”€ lofi_beat.mp3
โ”‚   โ””โ”€โ”€ templates/            # Video templates
โ”‚       โ””โ”€โ”€ music_video.json
โ”‚
โ”œโ”€โ”€ cache/                    # Demo cache
โ”‚   โ”œโ”€โ”€ profiles/            # Pre-scraped profiles
โ”‚   โ””โ”€โ”€ outputs/             # Pre-generated content
โ”‚
โ””โ”€โ”€ scripts/
    โ”œโ”€โ”€ setup.sh             # Environment setup
    โ”œโ”€โ”€ warmup.py           # API pre-warming
    โ””โ”€โ”€ demo_flow.py        # Demo automation

๐Ÿ”ง Core Components

1. Profile Scraper (scraper.py)

  • Handles LinkedIn and Twitter URLs
  • Uses Playwright for local dev
  • Browserless API for production
  • Extracts: bio, posts, work history, education

2. LLM Analyzer (analyzer.py)

  • GPT-5/Claude analyzes scraped content
  • Extracts: personality traits, buzzwords, achievements
  • Identifies roast angles
  • Generates personality model for content

3. Lyrics Generator (generator.py)

  • GPT-5 writes personalized rap lyrics
  • Follows hip-hop structure (intro/verse/hook/outro)
  • Maintains rhyme schemes
  • Incorporates profile-specific references

4. Audio Pipeline (audio.py)

  • ElevenLabs for rap voice synthesis
  • Pre-made beats for different moods
  • Pydub for mixing vocals + beat
  • Real-time streaming for speed

5. Video Generator (video.py)

  • Simple but effective visualizations
  • Lyrics sync with audio
  • Profile images with effects
  • Export in multiple formats

6. Any2Any Transformer (transformer.py)

  • Showcases our core technology
  • Diss track โ†’ LinkedIn recommendation
  • Diss track โ†’ PowerPoint presentation
  • Diss track โ†’ Academic paper

๐Ÿ’จ Speed Optimizations

Critical Path (Must Work)

  1. URL โ†’ Profile text extraction
  2. LLM analysis โ†’ Roast angles
  3. Generate lyrics
  4. Basic TTS audio
  5. Display results

Parallel Processing

async def generate_content():
    # Run simultaneously
    tasks = [
        analyze_profile(),     # 2-3s
        generate_lyrics(),     # 2-3s
        prepare_beat(),        # 0.1s (pre-loaded)
    ]
    results = await asyncio.gather(*tasks)

Caching Strategy

  • Cache scraped profiles (avoid re-scraping)
  • Cache LLM responses (save API calls)
  • Pre-load beats and assets
  • Use CDN for static files

๐ŸŽฎ Demo Scripts

YC Demo Focus

# Emphasize: Growth, virality, clear monetization
- Quick generation (show speed)
- Share functionality (viral potential)  
- Creator economy angle ($$$)

Afore Demo Focus

# Emphasize: Technical depth, infrastructure
- Show LLM orchestration
- Explain any2any architecture
- Discuss scaling challenges

๐Ÿšจ Fallback Plans

  1. If scraping fails: Manual text input
  2. If GPT-5 is slow: Use GPT-4-turbo
  3. If ElevenLabs fails: Pre-recorded audio
  4. If video gen fails: Static image + audio
  5. Nuclear option: Pre-recorded demo video

๐Ÿ“Š Metrics to Show

  • Generation time: ~8 seconds
  • Transformation options: 10+ formats
  • Information preservation: 94%
  • Potential market: 2M+ creators
  • Revenue model: $50/month subscription

๐Ÿ”‘ Environment Variables

# LLMs
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...

# Audio/Video
ELEVENLABS_API_KEY=...
REPLICATE_API_KEY=...

# Scraping
BROWSERLESS_API_KEY=...
BRIGHT_DATA_PROXY=... # Backup for LinkedIn

# Demo Config
DEMO_MODE=true
CACHE_ENABLED=true
TARGET_AUDIENCE=yc # or 'afore'
MAX_GENERATION_TIME=10 # seconds

# Optional
REDIS_URL=redis://localhost:6379
SENTRY_DSN=... # Error tracking

๐Ÿƒโ€โ™‚๏ธ 12-Hour Timeline

Hour Focus Deliverable
0-2 Setup & Scraping Working URL โ†’ text extraction
2-4 LLM Integration Profile analysis + lyrics generation
4-6 Audio Pipeline TTS + beat mixing working
6-8 Basic Frontend Input โ†’ Results display
8-9 Video Generation Basic video output
9-10 Transformations Show any2any capability
10-11 Polish & Debug Fix critical issues
11-12 Demo Practice Rehearse, prepare backups

๐ŸŽฏ Demo Flow (90 seconds)

  1. Hook (0-15s)

    • "We transform any content into any format"
    • Input judge's LinkedIn URL
  2. Magic (15-45s)

    • Show real-time generation
    • Play diss track (keep it short!)
    • Audience laughs
  3. Business (45-75s)

    • "But watch this..."
    • Transform to different formats
    • "Same engine powers content for 2M creators"
  4. Close (75-90s)

    • "$50/month, 40% margins"
    • "Already have 100 beta users"
    • "This demo IS our marketing"

๐Ÿ› Known Issues & Solutions

Issue Solution
LinkedIn requires login Use cached profiles for demo
GPT-5 too slow Fallback to GPT-4-turbo
Rate limits Multiple API keys, rotate
CORS errors Proxy through backend

๐Ÿš€ Post-Hackathon

If we win:

  1. Polish the transformation engine
  2. Add more input sources (TikTok, Instagram)
  3. Add more output formats
  4. Build creator dashboard
  5. Launch on Product Hunt
  6. Sell to Adobe for $100M ๐Ÿ˜Ž

๐Ÿ“ Notes

  • Keep it simple: Better to have 3 working features than 10 broken ones
  • Demo is everything: 50% coding, 50% preparing demo
  • Have backups: Everything that can fail, will fail
  • Energy matters: High energy presentation wins

Built with ๐Ÿ’” and ๐Ÿ”ฅ at YC Agents Hackathon "Transforming content and feelings since 2024"

About

any profile, instantly roasted in rap form

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •