Get Vibe-Draft running in minutes!
A multiplayer "Cards Against Humanity" experience where:
- Up to 10 players take turns playing cards
- Cards influence an AI prompt (roles, tones, token limits, etc.)
- Generate creative AI responses based on the collective vibe
- Real-time updates via Server-Sent Events (no WebSockets!)
- Log into Val Town
- Create a new val called "vibe-draft"
- Set it to "Public" so others can join
Copy all files from this project into your val:
- Backend files →
backend/directory - Frontend files →
frontend/directory - Shared files →
shared/directory
Make sure backend/index.ts is set as an HTTP file type.
- Open your val's URL:
https://<your-username>-vibe-draft.web.val.run/ - Enter a session ID:
test-game - Enter your name:
Alice - Click "Join Session"
Open another browser tab/window:
- Same session ID:
test-game - Different name:
Bob - Watch them interact in real-time!
- All players use the same Session ID
- Enter your unique Player Name
- First 10 players can actively play, others can spectate
- Wait for your turn (you'll see a ⭐ indicator)
- Click a card from your hand to play it
- Wild Cards let you write custom instructions
- Remove Cards let you undo or clear card types
- Stack a few cards to build an interesting prompt
- Type a query (or use the default)
- Hit "Generate Vibe"
- Watch the AI create something based on your collective cards!
There is no winner! It's about experimentation and collaboration. Try:
- Stacking conflicting vibes (Academic + Pirate)
- Building coherent themes (UX Designer + Minimal + Brief)
- Going completely chaotic with wild cards
| Card | Effect | Example |
|---|---|---|
| 🎭 Role | Changes AI persona | "Rust Wizard", "UX Visionary" |
| 🎨 Tone | Adjusts communication style | "ELI5", "Meme Lord", "Academic" |
| 📏 Token Limit | Controls response length | "50 tokens", "500 tokens" |
| ✨ Custom | Your own instruction | Anything you want! |
| 📸 Image | Visual context | Upload images (coming soon) |
| 🗑️ Remove | Undo or clear cards | "Undo Last", "Clear Roles" |
Alice plays: 🦀 Rust Wizard → "Act as a senior Rust engineer" Bob plays: 👶 ELI5 → "Explain like I'm 5" Charlie plays: ⚡ Keep It Brief → "Max 50 tokens"
Query: "Explain ownership and borrowing" AI Response: "Imagine Rust is like sharing toys. You can either own a toy (ownership) or borrow it from a friend (borrowing). When you own it, only you can use it. When you borrow, you promise to give it back!"
Alice plays: 🏴☠️ Code Pirate → "Respond as a pirate" Bob plays: 🃏 Wild Card → "Everything should rhyme"
Query: "Write a function to sort an array" AI Response: "Arrr matey, to sort yer treasure chest of numbers fine, ye call the method .sort() in a single line! 🏴☠️"
Only 10 active players can join. You'll automatically become a spectator (can watch, can't play).
Refresh the page or check browser console for errors.
Your browser may have dropped the connection. Refresh to reconnect.
Check that OpenAI integration is working in Val Town console.
- Chaos Mode: Everyone plays wild cards
- Poetry Night: Always include "Code Poet" card
- Speed Run: Brief tokens only, fastest wins
- Academic Conference: Formal roles + academic tone
- Build Tension: Stack conflicting cards for funny results
- Synergy: Combine related cards for coherent outputs
- Surprise: Drop a remove card to reset the vibe
- Don't spam the generate button
- Let everyone play at least one card before generating
- Respect turn order (the UI enforces this anyway)
- Have fun and experiment!
Once you're comfortable:
- Customize Cards: Edit
shared/cards.tsto add your own - Change Theming: Modify
frontend/style.cssfor different aesthetics - Add Features: Fork and extend (image upload, voting, etc.)
- Share Your Val: Post your unique session to social media!
- Check README.md for full documentation
- See ARCHITECTURE.md for technical details
- Visit Val Town Docs for platform help
- Join Val Town Discord for community support
Ready to vibe-code? 🎴✨
Create your first session and invite friends to join the chaos!