Inspiration

Knowing a football law is not the same as recognizing the fact that changes a referee's decision. CounterCall Voice grew from my work in football in Moldova: I wanted learners to explain not only their call, but the observable cue behind it.

Our guiding idea is simple: one changed fact, a different call.

What it does

CounterCall Voice is a simulated Alexa+ referee-reasoning coach backed by a real self-hosted MCP server.

The learner examines an authored incident, commits to a decision and identifies the decisive cue. The system then presents a paired incident with exactly one material fact changed and asks for a second decision.

It evaluates both decisions and both cues, separating Law, Fact and Judgement. A correct guess is not treated as demonstrated understanding.

Three scenario pairs explore handball boundaries involving body position, supporting-arm justification and deliberate arm movement.

How we built it

The application uses JavaScript, Node.js and the official Model Context Protocol SDK. A browser client communicates with the local MCP server over Streamable HTTP.

Four bounded tools start a lesson, confirm a call, present the one-fact counterfactual and evaluate transfer. A deterministic policy layer owns correctness and grading. Optional generative coaching cannot override the result.

The demonstrated workflow runs locally without a paid model or API key. Learner progress persists, and interrupted sessions can be recovered.

Challenges we ran into

The main challenge was preventing plausible explanations from becoming unreliable referee verdicts. We separated explanation from authority: machine-checkable rules determine correctness.

Another challenge was incomplete input. The application echoes the interpreted call and refuses to grade until both the decision and decisive cue are supplied. Keyboard interaction remains available when browser speech features are unavailable.

Accomplishments that we're proud of

  • A working simulated Alexa+ experience with four real MCP tools.
  • Deterministic evaluation of decisions and decisive cues.
  • Twenty-three passing automated tests in local verification.
  • An end-to-end MCP smoke test and browser workflow checks.
  • Recovery from simulated connection loss without discarding learner input.
  • Persistent progress and session recovery across server restarts.
  • A public 2-minute-29-second demonstration.

These are local engineering checks, not a user study or proof of improved learning outcomes.

What we learned

An agent does not need authority over every decision. It can orchestrate a useful learning experience while deterministic rules protect correctness.

Testing whether a learner adapts to one changed fact reveals more than asking whether they can repeat a rule.

What's next for CounterCall Voice

We plan to expand into challenges, advantage, offside involvement and disciplinary thresholds, then compare counterfactual practice with conventional multiple-choice training in a consent-based pilot.

Significant update during the hackathon

CounterCall existed previously as a browser-based referee trainer. After August 31, 2026, we added the competition-specific voice-oriented workflow, self-hosted MCP server, four runtime tools, simulated Alexa+ client, incomplete-answer blocking, deterministic transfer evaluation and automated tests.

Demonstration and responsible use

The video shows real keyboard interaction with the local application, accompanied by synthetic English narration. It does not demonstrate a physical Alexa device or verified microphone recognition. Optional browser speech features depend on browser support and permissions.

CounterCall Voice is an independent educational aid, not VAR, an autonomous referee, a certification system or an official federation endorsement. It uses authored synthetic incidents and no personal athlete data.

The source repository is private and has been shared with all seven required competition reviewers. Setup instructions, significant-update documentation, product feedback and a friction log are included in the repository. No public hosted application is claimed.

Built With

Share this project:

Updates

Submission history