A turn-based interview simulator that reimagines the hiring process as a retro 16-bit boss battle. Practice your interview skills by battling recruiter bosses with high-quality STAR-method responses!
HR-PG helps job seekers prepare for interviews through an engaging, gamified experience. Players choose a role, answer behavioral and technical questions, and receive immediate feedback on answer quality translated into "Attack Damage" against the recruiter boss.
- Students and recent graduates
- Early-to-mid career professionals
- Anyone preparing for job interviews
- Frontend: React, TypeScript, Tailwind CSS, Vite
- Backend: Python, Flask, SQLAlchemy, SQLite
- LLM Integration: Vanderbilt Amplify API
- Authentication: JWT (JSON Web Tokens)
hr-pg/
├── backend/
│ ├── app.py # Flask API server
│ └── requirements.txt # Python dependencies
├── frontend/
│ ├── src/
│ │ ├── pages/
│ │ │ ├── Home.tsx # Landing page
│ │ │ ├── LevelSelect.tsx # Role selection page
│ │ │ ├── Game.tsx # Main game interface
│ │ │ └── Results.tsx # Game results page
│ │ ├── App.tsx # Main app with routing
│ │ └── index.css # Global styles with Tailwind
│ ├── package.json
│ └── tailwind.config.js
└── README.md
- Home Page: Welcome screen with game introduction and login/register
- User Accounts: Sign up and log in to save your game history
- Level Select: Choose from different job roles (Software Engineer, Product Manager, Data Scientist)
- Game Page: Answer interview questions with health bar system. Progress is saved to the database.
- Results Page: Victory or defeat screen based on performance
- AI Scoring: Real-time feedback and scoring using Vanderbilt Amplify API
- Node.js (v18 or higher)
- Python (v3.8 or higher)
- pip (Python package manager)
-
Navigate to the backend directory:
cd backend -
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Configure Environment Variables: Create a
.envfile in thebackenddirectory (copy from.env.example).cp .env.example .env
Generate a secure JWT secret key:
python -c "import secrets; print(secrets.token_hex(32))"Update your
.envfile with the generated key and your Amplify API key:AMPLIFY_API_KEY=your_api_key JWT_SECRET_KEY=paste_generated_key_here
-
Update database:
flask db upgrade
-
Run the Flask server:
python app.py
The backend will start at
http://localhost:5000
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
The frontend will start at
http://localhost:5173
-
Start the backend server in one terminal:
cd backend python app.py -
Start the frontend development server in another terminal:
cd frontend npm run dev -
Open your browser and navigate to
http://localhost:5173
- Start Game: Click "Start Game" on the home page
- Select Role: Choose the job position you want to interview for
- Answer Questions: Respond to interview questions using the STAR method
- Situation: Describe the context
- Task: Explain what needed to be done
- Action: Detail what you did
- Result: Share the outcome
- Watch Health Bars: Good answers damage the boss, poor answers damage you
- Win or Lose: Deplete the boss's health to "secure the offer" or lose all your health and get "ghosted"
- Integrate Vanderbilt Amplify API for LLM-powered question generation
- Implement NLP-based answer evaluation
- Add 16-bit retro graphics and animations
- Include sound effects and background music
- Expand role catalog with more positions
- Add difficulty settings
- Implement database with accounts and progress tracking
- Create user dashboard
- Add resume-based questions and feedback
- Add audio input and output for verbal interview practice
- Create practice mode with feedback
This is a student project. Contributions and suggestions are welcome!
See LICENSE file for details.