DEV Community

Cover image for I Built an AI Website Roaster — Paste a URL, Get Absolutely Destroyed
Ovi ren
Ovi ren

Posted on

I Built an AI Website Roaster — Paste a URL, Get Absolutely Destroyed

Kooked is an AI-powered website roaster built with Next.js, Supabase Edge Functions and LLaMA 3.3 70B. Paste any URL and get a brutally sarcastic, shareable roast.

You know that feeling when you look at a website and think "who approved this?" — well, now you don't have to silently suffer. I built Kooked, an AI-powered website roaster that does the judging for you.

👉 Live app: kooked.vercel.app
🐙 GitHub: github.com/iamovi/kooked


What Is Kooked?

Paste any URL. Kooked scrapes the site's content, feeds it to LLaMA 3.3 70B, and delivers a long, ferociously sarcastic, deeply detailed critique — complete with a shareable link to the full roast.

Yes, it ends with at least one kind thing to say. Sometimes.


Features at a Glance

  • Brutal AI Roasts — Three extensive roast paragraphs explicitly prompted for maximum sarcasm and word count
  • Shareable Roast Pages — Every roast gets a unique URL (/roast/[id]) you can send to anyone
  • Global History Feed — A live sidebar showing all websites roasted in the last 24 hours, powered by Supabase Realtime
  • Favicon Fetching — Each roast card shows the target site's real favicon via Icon.Horse
  • Dark / Light Mode — Clean monochrome design with a single fiery orange accent

The Tech Stack

Layer Tech
Frontend Next.js 15 (App Router), React, Tailwind CSS
UI Primitives Radix UI Dialog
Backend API Supabase Edge Functions (Deno)
AI Model Groq API — Meta LLaMA 3.3 70B Versatile
Web Scraping Jina Reader API (r.jina.ai)
Database Supabase PostgreSQL + Realtime
Favicon Service Icon.Horse
Icons Lucide React

How It Works

Here's the flow from paste to roast:

User pastes URL
      ↓
Next.js calls Supabase Edge Function
      ↓
Edge Function fetches page content via Jina Reader
      ↓
Content sent to Groq (LLaMA 3.3 70B) with a spicy system prompt
      ↓
Roast saved to Supabase PostgreSQL
      ↓
Unique shareable URL generated
      ↓
Global feed updated via Supabase Realtime
Enter fullscreen mode Exit fullscreen mode

One of the things I'm most happy about: the AI prompt and Groq API key live entirely inside the Supabase Edge Function — they're never exposed to the browser. The client only ever talks to the Edge Function endpoint.


The Prompt Engineering

Getting LLaMA 3.3 to be actually funny and actually brutal took some iteration. The final prompt explicitly:

  • Demands three long, detailed paragraphs (no lazy one-liners)
  • Specifies maximum sarcasm and roast depth
  • Requires ending with at least one genuine compliment (balance is key 😅)

Running It Locally

1. Clone & install

git clone https://github.com/iamovi/kooked.git
cd kooked
npm install
Enter fullscreen mode Exit fullscreen mode

2. Set up environment

Create .env.local:

NEXT_PUBLIC_SUPABASE_URL=https://your_project_id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
Enter fullscreen mode Exit fullscreen mode

3. Set up the database

npx supabase db push
Enter fullscreen mode Exit fullscreen mode

4. Deploy the Edge Function

npx supabase login
npx supabase link --project-ref your_project_ref
npx supabase secrets set GROQ_API_KEY=your_groq_api_key
npx supabase functions deploy roast
Enter fullscreen mode Exit fullscreen mode

5. Start the dev server

npm run dev
Enter fullscreen mode Exit fullscreen mode

What I Learned

Supabase Edge Functions are underrated. Running Deno-based serverless functions that sit right next to your database, handle secrets properly, and deploy in seconds is a genuinely great developer experience.

Jina Reader is a cheat code for web scraping. Prefixing any URL with r.jina.ai/ returns clean, readable markdown from any webpage — no Puppeteer, no parsing headaches.

Groq + LLaMA 3.3 70B is fast. Inference is quick enough that the roast feels snappy, which matters a lot for user experience.


What's Next?

A few ideas I'm considering:

  • [ ] Rating/voting on roasts
  • [ ] Roast categories (design, copy, performance, etc.)
  • [ ] Side-by-side website comparison roasts
  • [ ] A "defend your site" mode where the AI argues the opposite

Try It & Contribute

The project is open source under the MIT License.

Go roast something. Your competitor's landing page is waiting. 🔥

Top comments (0)