
GovernAI Studio
Interactive training simulator for governance and compliance scenarios, backed by a RAG and LLM inference path.
- Simulator logic
- Hybrid RAG + LLM
- Celery workers
What it had to solve
Governance and compliance are learned by judgement, not by recall, which makes them hard to teach from a document. A simulator has to hold a scenario, respond in the voice of a specific stakeholder, and stay anchored to the actual policy rather than improvising plausible-sounding rules — while the inference doing that work takes long enough that it cannot block the interface.
The decisions that shaped it
Persona-driven interface
The front end is organised around personas rather than around forms: the learner is talking to a stakeholder in a scenario, so the interface has to sustain a conversation and hold state across turns instead of collecting a submission.
Retrieval before generation
A hybrid RAG and LLM path means the model answers against retrieved source material rather than from its weights alone. In a compliance trainer that is the difference between a tool and a liability — the responses have to trace back to the governance documents that were actually loaded.
Celery for work that outlives a request
Inference and retrieval run as Celery tasks off the Django application, so the request cycle is not held open behind a model call and the interface can show progress rather than a spinner on a blocked connection.
Extending the simulator, not just skinning it
Beyond owning the front end I extended the core simulator logic in the backend, which is what kept the interface and the scenario engine from drifting into two different models of what a scenario is.
How the pieces sit together
- React + TypeScript, persona-driven scenario interface
- Django serving the simulator and its scenario logic
- Celery running retrieval and inference off the request cycle
- Hybrid RAG + LLM path grounded in loaded source material
Built into the product
Scenario simulation
Governance and compliance situations played out in conversation.
Persona interface
Responses in the voice of a specific stakeholder.
Grounded responses
Retrieval-augmented generation over real policy material.
Asynchronous inference
Celery workers so long calls never block the UI.
What it is built out of
- React, TypeScript
- Django, Celery, Python
- RAG, LLM inference
What it looks like




What it produced
- RAG
- Grounded rather than free-generated answers
- E2E
- Interface built end to end
- Async
- Inference moved off the request cycle