Skip to content

klaviyo/quota-quest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ QUOTA QUEST: Escape to Austin

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.

๐ŸŽฎ Game Overview

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.

๐Ÿ“ Project Structure

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

๐Ÿš€ Quick Start

Prerequisites

Installation

  1. Clone or navigate to the project:

    cd quota-quest
  2. Install server dependencies:

    cd server
    npm install
  3. Set up environment variables:

    cp .env.example .env

    Edit .env and add your OpenAI API key:

    OPENAI_API_KEY=your_api_key_here
    PORT=3000
    
  4. Start the server:

    npm start

    The server will run on http://localhost:3000

  5. Open the game: Open index.html in your browser, or if you want to serve it:

    cd ..
    python3 -m http.server 8000

    Then visit http://localhost:8000

๐ŸŽฏ Game Levels

The game includes 8 levels covering:

  1. Discovery - WISMO Volume (Break Room)
  2. Discovery - Workflow Friction (Copy Room)
  3. Value Positioning - Gorgias (Hallway)
  4. Value Positioning - Zendesk (Conference Room)
  5. Objection - AI Hallucination (CEO's Office)
  6. Objection - Pricing (Finance Department)
  7. Objection - Migration Timing (Near the Exit)
  8. Objection - Phone Support (The Exit Door)

๐Ÿ› ๏ธ Technical Details

Frontend

  • Pure HTML/CSS/JavaScript - No frameworks needed
  • VT323 Font - Authentic retro terminal look
  • Modular design - Easy to add more levels

Backend

  • Express.js - Lightweight API server
  • OpenAI API (GPT-4o-mini) - Intelligent response grading at low cost
  • CORS enabled - Works with local file serving

AI Grading

The grading system evaluates responses on:

  • Key concept capture
  • Positioning techniques
  • Sales professionalism
  • Pain point addressing

Passing score: 80/100

๐ŸŽจ Customization

Adding New Levels

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
}

Changing the Theme

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 */
}

Adjusting Difficulty

Change the passingScore in individual levels (default: 80)

๐Ÿ”ง Troubleshooting

"Error connecting to grading server"

  • Make sure the server is running on port 3000
  • Check that OPENAI_API_KEY is set in .env
  • Verify CORS is enabled if running from a different origin

Grading seems too strict/lenient

  • The AI grading can be adjusted in server/server.js
  • Modify the grading prompt to emphasize different criteria
  • Adjust the passingScore per level

Styles look wrong

  • Ensure styles.css is in the same directory as index.html
  • Clear browser cache
  • Check browser console for errors

๐Ÿ“ Development Notes

For v1 (Current)

  • โœ… No user authentication
  • โœ… Client-side game state
  • โœ… AI-powered grading
  • โœ… 8 levels from playbook

Future Enhancements (v2+)

  • User authentication and profiles
  • Score leaderboards
  • Multiplayer mode
  • More level categories
  • Save/resume progress
  • Analytics dashboard

๐Ÿš€ Deployment

Option 1: Static Hosting (Frontend)

Deploy the frontend files to:

  • GitHub Pages
  • Netlify
  • Vercel

Option 2: Full Stack

Deploy the server to:

  • Heroku
  • Railway
  • DigitalOcean

Update API_URL in game.js to point to your production server.

๐Ÿ“„ License

Internal use for Klaviyo GTM Kickoff 2024

๐Ÿค Contributing

This is an internal training tool. For suggestions or improvements, contact the GTM team.


Ready to escape the office? Start your quest now! ๐Ÿš€

About

Sales training game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •