OGE — Operational Gaming Environment
Real-time AI simulation platform with grounded LLM advisors, production RAG and WebSocket multiplayer.
- Role
- Lead full-stack engineer
- Live site
- oge.dare-engineering.org

136k
lines of code
63
data models
149
API routes
14
real-time channels
The Challenge
Crisis simulations teach judgement under pressure, but each one needs live human experts to advise, facilitate and adjudicate. Expert availability capped how often they could run, and nothing off the shelf could replace them.
The Outcome
A live platform in continuous classroom use, where one professor configures an advisor once and it serves the whole cohort at the same time.
What I Built
I led architecture across the Django backend and React frontend from the first commit, working directly with faculty.
Grounded AI advisors
Each advisor retrieves only from its own isolated document corpus, so what one advisor knows, another cannot see.
Production RAG
Retrieval settings cascade from platform to advisor to document, so professors can tune a single source without a developer.
Multi-provider resilience
OpenAI and Claude behind one interface with retry and failover, so a provider outage never stops a class.
Real-time engine
57 WebSocket message types drive timers, negotiation, voting and adjudication across seven game modes.
Governance & security
Per-player caps on messages, tokens and spend, live professor monitoring, and four authorization gaps closed before launch.
MCP & infrastructure
Advisors call external tools over MCP, and a full vector database loss was recovered with zero data loss by re-indexing.
Tech Stack
- Python
- Django
- Django Channels
- WebSockets
- React
- TypeScript
- PostgreSQL
- Redis
- Weaviate
- RAG
- OpenAI
- Anthropic Claude
- MCP
- AWS S3
- GitHub Actions
Screenshots

Dashboard: every game room with its status, players and pending adjudications 
Advisor settings: per-advisor system prompt, model and RAG configuration 
RAG configuration: top-k, chunk size, overlap, similarity threshold and context budget 
Per-advisor LLM provider selection (OpenAI or Claude) and MCP server assignment 
MCP server configuration for a game room 
Preparation Coach: an AI chatbot guiding a student through individual prep 
Group Moderator: AI-moderated team charter, ratified by vote 
Game control panel: configure, invite, reset and end a live game 
Round and phase timer controls with alert triggers 
Charter classes: teams, controls, monitoring and exported charters 
Live games with player, advisor and event counts