Inspiration
This started with a close friend of our group who studies law and have a hard time debating and articulating himself—not because he didn’t know the law, but because he was socially anxious. We then found post after post from uni law students saying the same thing: “I understand the material, but I can’t articulate it under pressure.” Debattle is our answer: a safe, fast, and actually fun way to practice structured argument, get judged, and improve—in order to help law students not only get better scores during practical debate assignments but also better land a job
What it does
although not finished Debattle allows law students to fight against other law students in a fun competitive enviroment: It will pull real-world legal topics from official sources and spins them into short, balanced debate hypotheticals (facts, issues, precedents, motion) for these students to be debating each other in. after finishing A local LLM scores matter / manner / method (with reply weighting), produces /100 scores, and gives targeted feedback.
How we built it
Front end (prototype): React + Vite, Tailwind, light Framer Motion; simple hooks now, moving to Zustand/Context; planned WebSocket status and transcript viewer.
Debate engine: TypeScript finite-state machine for phases, timers, and interruptions; CLI shell for fast testing.
Case generation (Python): requests/BeautifulSoup/feedparser + DeepSeek-R1 via Ollama to synthesise realistic hypotheticals (no verbatim copying).
Judge (Python): Ollama /api/generate with strict JSON schema, score clamping, and guaranteed analysis blocks.
Challenges we ran into
- had difficiulties with actually implementing a database and API in order to connect back end and front end due to the limited time
- didnt finish the multiplayer server function in order to conect people of the same LAM/wifi to match agianst one another -voice to words ended up quite buggy especially in cases where there is background noise -> we ended up deciding to exclude it from our demo
Accomplishments that we're proud of
-finished initializing the main functions and variables for the program (if it was to be actually fully implemented and made and launch) -managed to create a program to fetch a random subject based case which then is fed ot an AI in order to make a relastic case -created a fair judge -did animations and conceptual design for the UI which ended up looking really good
What we learned
We learned to use react, along with a lot of libraries with a deeper understanding on both note.js and python.js we also came to understand teamwork distributions more and the need to actually finish wayy earlier than the deadline becuase we ended up submitting late
Team-wise: dividing features vertically (case/engine/judge) let us ship the loop fast.
What's next for Debattle
Web multiplayer: lobby, matchmaking, and friend invites make sure it works
|Upload your own PDFs: ingest judgments or readings to generate targeted practice motions.
Better voice: robust, offline STT (Vosk/Whisper small) with noise gating and diarization.
other countries : for law students globally we should make repisotaries and take API from other countries too not only Australia as currently its only taking from Australia
Log in or sign up for Devpost to join the conversation.