Your performance is tracked across four dimensions: Legal Application, Issue Relevance, Argument Flow, and Bench Handling. The judge can question you, interrupt, or transfer control.
If you're a law student grinding moots, or just someone who finds courtroom drama interesting, then yesss.
Coming soon
- Pick a case from the carousel and read the case brief
- Choose your side — petitioner or respondent
- Argue your case, rebut the opponent, respond to the judge
- Watch your scores update live after every argument
- Verdict delivered at the end — the better arguer wins
The verdict is based on argument quality, not the original court ruling.
- Frontend — React + Vite
- Backend — FastAPI + WebSocket
- AI Judge — Llama 3.2-3B fine-tuned via QLoRA (Unsloth + TRL)
- Case Data — Indian Kanoon (50+ constitutional and fundamental rights cases)
Fine-tuned Llama 3.2-3B on 504 moot court argument-scoring examples using Unsloth + QLoRA (r=16) on Kaggle T4x2.
| Metric | Value |
|---|---|
| Final Training Loss | 0.8544 |
| Final Eval Loss | 0.8986 |
| Train/Eval Gap | 0.044 (no overfitting) |
The base model produced 51/51 parse failures on the evaluation set. After fine-tuning, Themis Judge produced 0/51 failures — valid structured judicial output on every example.
| Criterion | MAE |
|---|---|
| Legal Application | 1.7255 |
| Issue Relevance | 0.9608 |
| Argument Flow | 0.5490 |
| Bench Handling | 1.0000 |
| Average | 1.0589 |
Scores range from -3 to +3. Gold standard generated by DeepSeek V4 Flash. Human evaluation pending.
Model: snowsadh/themis-judge-3b · LoRA: snowsadh/themis-judge-lora · Dataset: snowsadh/multiturn-legal-argumentation
Ace Attorney