All projects
AI Platform

OGE — Operational Gaming Environment

Real-time AI simulation platform with grounded LLM advisors, production RAG and WebSocket multiplayer.

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