HackMaze is a competitive, maze-driven technical assessment platform originally built and deployed for at .
Designed for hackathons, college techfests, coding contests, recruitment-style elimination rounds, and internal technical events, HackMaze transforms traditional technical assessments into an interactive strategy-based challenge.
Participants progress through interconnected rooms by solving technical questions, unlocking doors, and strategically navigating through the maze before time runs out. Multiple branching paths, varying difficulty levels, and route optimization add both competitive pressure and decision-making depth to the experience.
The platform was successfully used during Horizon hackathon events and is now fully open-sourced so that colleges, coding clubs, communities, and event organizers can freely reuse, customize, and deploy it for their own competitions.
- Seamless participant login system
- Interactive maze-based gameplay
- Live topology map generated dynamically
- Multiple branching routes and varying difficulty paths
- Competitive time-based progression
- Focus-breach detection (tab switching / window exit tracking)
- Timestamped progression logging
- Participant activity monitoring
- Attempt and movement tracking
-
Real-time leaderboard
-
Participant status monitoring:
- Active
- Waiting
- Completed
- Quitted
- TimeUp
-
Room-wise participant distribution heatmap
-
Live synchronization with the database
-
Event-wide monitoring tools for organizers
- Python
- Flask
- Waitress (Production WSGI Server)
- SQLite
- SQLAlchemy ORM
- HTML5
- Vanilla CSS
- Vanilla JavaScript
- Alpine.js
- Viz.js
- Graphviz topology rendering
.
โโโ app.py # Core Flask application and routing
โโโ config.py # Environment and app configuration
โโโ models.py # SQLAlchemy database schemas
โโโ utils.py # Maze parsing and distance algorithms
โโโ maze.json # Maze topology and question bank
โโโ seed.py # Bulk participant registration via CSV
โโโ serve.py # Waitress production server entry point
โโโ templates/ # Jinja2 templates
โโโ static/ # Assets, stylesheets, and frontend scripts
git clone https://github.com/LakhindarPal/HackMaze.git
cd HackMazeHackMaze uses uv for fast and reliable dependency management.
uv syncCopy the example environment file:
cp .env.example .envUpdate the following values before deployment:
SECRET_KEY=your-secret-key
ADMIN_PASSWORD=your-admin-passwordAlways use strong production credentials for public deployments.
Create a participants.csv file using the following format:
RollNumber,FullName,Department
2026001,John Doe,CSE
2026002,Jane Smith,ECERun the seeding script:
uv run seed.pyLaunch the production-ready Waitress server:
uv run serve.pyhttp://<host>:8080/
http://<host>:8080/admin
http://<host>:8080/dashboard
Edit maze.json to:
- Change maze topology
- Add or remove rooms
- Modify branching paths
- Update question sets
- Tune difficulty levels
Modify frontend styling from:
static/style.css
You can easily customize:
- Colors
- Typography
- Layout
- Branding
- Theme
- Animations
HackMaze can be adapted for:
- College techfests
- Hackathons
- Coding competitions
- Technical treasure hunts
- Campus recruitment rounds
- Club events
- Internal assessments
- Workshop engagement activities
HackMaze is now open-source and free to use for:
- Educational institutions
- Technical clubs
- Student communities
- Hackathon organizers
- Community-driven events
You are encouraged to customize, extend, and build upon the platform for your own competitions and events.
Originally built for organized by .
- Horizon Website: Horizon Techfest
- College Website: Dr. B. C. Roy Engineering College
This project is open-source and intended for educational, competitive, and community event usage.