Debate Arena is a Flask single-page web app that orchestrates three Backboard assistants:
- Proponent Agent argues for the submitted topic with three logical points and examples.
- Opponent Agent argues against the topic with three risks, flaws, or counterpoints.
- Judge Agent reviews both transcripts, checks fallacies, declares a winner, and assigns a 0-100 scorecard.
- Python 3.11+
- A Backboard API key
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export BACKBOARD_API_KEY="your-backboard-api-key"
python app.pyOpen the app at: http://localhost:5000
Run a debate directly:
curl -s -X POST http://localhost:5000/api/debate \
-H 'Content-Type: application/json' \
-d '{"topic":"Should artificial general intelligence development be open-source?"}'The response includes proponent, opponent, and judge fields.
On the first successful run, the app creates the three Backboard assistants and stores their IDs in agents.json. Later runs reuse those IDs. Delete agents.json only if you intentionally want to create a fresh trio of assistants.
The API key is read only from the BACKBOARD_API_KEY environment variable. If the key is missing or Backboard returns an error, the backend returns a JSON error and the frontend displays a friendly error banner instead of crashing.