An educational sales training game for the Klaviyo GTM Kickoff! Master prospecting, value positioning, and objection handling to escape the office and reach the space-themed event in Austin.
Objective: Navigate through 8 levels of the office, answering prospect questions correctly to escape and reach the GTM Kickoff in Austin.
Gameplay:
- Answer real sales scenarios based on the Service Sales Playbook
- Responses are graded 0-100 by AI
- Score 80+ to pass each level
- Master all 8 levels to win!
Style: Retro 1980s terminal aesthetic with green-on-black text, scanlines, and ASCII art.
quota-quest/
โโโ index.html # Main game interface
โโโ styles.css # Retro 1980s styling
โโโ game.js # Game logic and state management
โโโ levels.js # 8 levels from sales playbook
โโโ server/
โ โโโ package.json # Server dependencies
โ โโโ server.js # Express server with AI grading
โ โโโ .env.example # Environment variables template
โโโ .gitignore
โโโ README.md
- Node.js (v18 or higher)
- An OpenAI API key (Get one here)
-
Clone or navigate to the project:
cd quota-quest -
Install server dependencies:
cd server npm install -
Set up environment variables:
cp .env.example .env
Edit
.envand add your OpenAI API key:OPENAI_API_KEY=your_api_key_here PORT=3000 -
Start the server:
npm start
The server will run on
http://localhost:3000 -
Open the game: Open
index.htmlin your browser, or if you want to serve it:cd .. python3 -m http.server 8000Then visit
http://localhost:8000
The game includes 8 levels covering:
- Discovery - WISMO Volume (Break Room)
- Discovery - Workflow Friction (Copy Room)
- Value Positioning - Gorgias (Hallway)
- Value Positioning - Zendesk (Conference Room)
- Objection - AI Hallucination (CEO's Office)
- Objection - Pricing (Finance Department)
- Objection - Migration Timing (Near the Exit)
- Objection - Phone Support (The Exit Door)
- Pure HTML/CSS/JavaScript - No frameworks needed
- VT323 Font - Authentic retro terminal look
- Modular design - Easy to add more levels
- Express.js - Lightweight API server
- OpenAI API (GPT-4o-mini) - Intelligent response grading at low cost
- CORS enabled - Works with local file serving
The grading system evaluates responses on:
- Key concept capture
- Positioning techniques
- Sales professionalism
- Pain point addressing
Passing score: 80/100
Edit levels.js and add a new level object:
{
id: 9,
title: "Level 9: Your Title",
location: "YOUR LOCATION",
category: "Discovery/Positioning/Objection",
prospectName: "Prospect Name",
prospectDialogue: "What they say...",
question: "Your challenge...",
referenceAnswer: "The ideal answer...",
hint: "Helpful hint...",
passingScore: 80
}Modify CSS variables in styles.css:
:root {
--primary-color: #00ff41; /* Main text color */
--bg-color: #000; /* Background */
--error-color: #ff0040; /* Failure state */
--warning-color: #ffaa00; /* Warnings/hints */
}Change the passingScore in individual levels (default: 80)
- Make sure the server is running on port 3000
- Check that
OPENAI_API_KEYis set in.env - Verify CORS is enabled if running from a different origin
- The AI grading can be adjusted in
server/server.js - Modify the grading prompt to emphasize different criteria
- Adjust the
passingScoreper level
- Ensure
styles.cssis in the same directory asindex.html - Clear browser cache
- Check browser console for errors
- โ No user authentication
- โ Client-side game state
- โ AI-powered grading
- โ 8 levels from playbook
- User authentication and profiles
- Score leaderboards
- Multiplayer mode
- More level categories
- Save/resume progress
- Analytics dashboard
Deploy the frontend files to:
- GitHub Pages
- Netlify
- Vercel
Deploy the server to:
- Heroku
- Railway
- DigitalOcean
Update API_URL in game.js to point to your production server.
Internal use for Klaviyo GTM Kickoff 2024
This is an internal training tool. For suggestions or improvements, contact the GTM team.
Ready to escape the office? Start your quest now! ๐