Sparring is a versatile, rigorous partner that challenges you to sharpen your thinking in the emerging discipline of Digital Design. It was built for a master's thesis at FH Dortmund and shown for three days at Superraum, Dortmund, in September 2026.
A QR code on a poster on the wall opens a text field on the visitor's phone. Whatever they type goes to an AI that pushes back on the argument, and both sides of the exchange are projected onto the wall behind them, so the whole room can watch one person reason it through. The subject is Digital Design education.
| Element | Path | What it does |
|---|---|---|
| Dojo (SE-01) | /, /dojo |
Phone client. Start page, consent, then one session with a limited number of turns. |
| Arena (SE-02) | /arena |
Wall display. Shows the latest exchanges from all sessions. |
| Scenarios | /ses |
Picker for the sparring evaluation scenarios. Each one starts a dojo session on its own opening prompt (/dojo?o=ses2 to ses4), the same way a printed QR code would. English only. |
| Backend (SE-03) | /api/* |
Moderates each contribution, generates the reply and stores the session. |
The sparring behaviour comes from a single system prompt,
prompts/sparring.md. On turn 1, the reply can draw on
a local curriculum corpus through SQLite FTS5.
Stack: PHP 8.2+, SQLite, vanilla JS. No framework and no build step. Anthropic is the default LLM. OpenAI and OpenAI-compatible local models are also supported, and an offline fake provider needs no API key.
composer install
php bin/import_pilot.php
LLM_PROVIDER=fake php -S localhost:8080 -t public public/index.phpOpen http://localhost:8080 on the phone side and http://localhost:8080/arena for the wall. The fake provider gives canned replies. For real ones, see Getting started.
- Getting started: setup, LLM providers, tests, screenshots
- Operations: export, database maintenance, deployment
- Feature inventory: everything the installation does
- Design spec: the design record of what the installation must do and why (L1–L3)
- Architecture decisions: how the code is built and why
- Prompt evals: multi-turn evaluation of the sparring prompt
- Changelog
This is a thesis prototype built for a single exhibition run. It is not a maintained product, but issues and questions are welcome.
Parts of Sparring's teaching material are based on work originally written by Dr. Kim Lauenroth.
Sparring uses the following libraries, fonts and tools:
- ZzFX by Frank Force
- qrcode-generator by Kazuhiko Arase
- RethinkSans by Rethink
- Darumadrop One and Mochi Boom, used in the Sparring logo
- Material Design Icons by the Pictogrammers group
- EasyEngine
- SQLite
- Figma
- Claude API and Claude Code

