RoastRoom is a highly interactive, real-time multiplayer platform where wit meets wisdom. It's the ultimate digital colosseum for users to engage in high-stakes intellectual clashes and ruthless comedic battles.
Experience the thrill of outsmarting your opponents in a fast-paced environment, all while being dynamically evaluated by an impartial AI Referee (powered by advanced LLMs) that scores your arguments in real-time. Whether you are structuring a logical debate or landing a perfectly timed joke, RoastRoom gives you the stage to prove your verbal supremacy.
- ⚡ Real-time Multiplayer: Powered by Socket.io and Firebase, experience ultra-low latency chat and game synchronization.
- 🤖 AI-Powered Judging: An integrated AI system (via Supabase Edge Functions / OpenAI / Gemini) automatically analyzes messages textually to detect logic, creativity, clarity, and humor.
- 🛡️ Secure Authentication: Managed by Supabase Auth with Row Level Security (RLS).
- 🏆 XP & Leaderboard System: Earn experience points for winning matches, leveling up, and climbing the global ranks.
- 💎 Glassmorphism UI: A stunning, modern, and highly responsive user interface built using Tailwind CSS and Framer Motion for buttery-smooth animations.
RoastRoom offers diverse ways to assert your dominance:
- ⚔️ Debate Mode: Focus on logic, evidence, and structured arguments. Perfect for testing your rhetorical skills and critical thinking. The AI strictly scores based on factual accuracy, logical flow, and rebuttal strength.
- 🔥 Roast Mode: Unleash your inner comedian. Score points for creativity, humor, and sheer disrespect (kept within the platform's community guidelines, of course!).
- 👀 Spectator Mode: Not ready to step into the ring? Join live matches to watch the action unfold! React in real-time with floating emojis, cast your vote for the best arguments in each round, and generate shareable match highlight cards.
RoastRoom adopts a modern, hybrid architecture to leverage the best tools for specific jobs:
- Framework: Next.js 14 (App Router & Server Components)
- UI & Styling: Tailwind CSS mapped to a custom Glassmorphic design system.
- Animations: Framer Motion handling micro-interactions and route transitions.
- State Management: Zustand for lightweight, predictable global state.
- Web Sockets: Socket.io-client for high-speed bi-directional data flow.
- Relational Data & Auth: Supabase (PostgreSQL). We use Supabase to handle user authentication, relational game data (rooms, participants, scores, XP), and Row Level Security (RLS) enforcement.
- Real-time Chat Layer: Firebase Firestore & FCM. Firestore is optimized for sub-100ms read latency on small documents, making it perfect for our chat layer, typing indicators, and presence updates.
- Serverless AI Processing: Supabase Edge Functions trigger AI algorithms (OpenAI/Gemini) to evaluate the debate/roast payloads.
- Node.js/Express Server: Custom backend services running via Express and Mongoose for extended API handling, cron jobs, and socket state management.
Forget biased human voting. Every response in RoastRoom is analyzed in real-time by a sophisticated AI judge. Our model evaluates battles based on:
| Metric | Description |
|---|---|
| Logic | The strength, structure, and coherence of your arguments. |
| Creativity | How unique and unexpected your points and angles are. |
| Clarity | The readability and articulation of your message. |
| Humor | (Roast Mode only) The "burn" factor, wit, and comedic timing. |
Your journey from a novice debater to a Grandmaster Roaster:
- Level Up: Earn XP for every match you play. Bonuses are awarded for winning and for exceptional AI-rated "logic" or "humor" streaks.
- Unlock Badges: Showcase your dominance with unique badges earned through specific milestones (e.g., "Flawless Logic", "Savage Burn").
- Global Rankings: Track your standing against the best roasters and debaters worldwide via dynamic leaderboards.
- Node.js:
v18.0.0+ - npm:
v9.0.0+ - Supabase CLI (optional, but recommended):
npm i -g supabase - Firebase CLI (optional):
npm i -g firebase-tools
-
Clone the repository:
git clone https://github.com/vedangdhuri/RoastRoom.git cd RoastRoom/frontend -
Install Dependencies:
npm install
-
Configure Environment Variables:
Copy the
.env.examplefile to create your own.env.localconfiguration.cp .env.example .env.local
Make sure to fill in your
NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_FIREBASE_API_KEY, and other required credentials. -
Launch the Development Server:
npm run dev
The app will be available at http://localhost:3000.
For a complete, in-depth guide on configuring Supabase Edge Functions and Firebase Web Push, check out the SETUP.md file.
We welcome contributions to RoastRoom! Whether it's adding new features, improving the AI judge's prompts, or fixing UI bugs:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
