Gaffer · Tether Developers Cup 2026 · QVAC track

A pundit in
your ear.
No cloud.

Tactical football commentary from a model running on your own device via QVAC — and when the phone is too weak, it borrows a laptop peer's compute over an encrypted Pear link.

×7.8TOK/S SPEEDUP (P50)
97%+TRANSPORT EFFICIENCY
220TESTS · ALL GREEN
0CLOUD CALLS
The problem

Commentary dies exactly
when the fan needs it most.

  • 01Expert commentary needs a cloud connection.Away end, flaky stadium wifi, a plane — the app just spins, right when the fan needs the explainer.
  • 02The fans who need it most hold the weakest phones.A three-year-old handset can't run a capable model fast enough to feel live — on-device alone tops out around 6 tok/s.

"I was in the away end with no signal and a three-year-old phone — the cloud commentary app spun forever and I missed why the ref pointed to the spot."

→ so the fix can't be a bigger cloud. It has to be no cloud at all.

The solution

A pundit that runs on your device — and borrows a peer's when it can't.

→ the offload is the product. Everything else got cut.

The magic moment

Watch the gauge jump ×7.8 — then watch it survive the kill.

weak phone,
alone
⌂ local · ~6 tok/s Streaming, but slow — a three-year-old phone's honest ceiling on-device.
laptop joins
the room
⇄ BOOSTED BY PEER · ~47 tok/s Same sentence, ×7.8 faster p50 — same phone, a borrowed brain over an encrypted Pear link.
Ctrl-C the
laptop, mid-word
⚠ provider lost — continuing on-device OFFLOADED → FALLBACK. The sentence finishes anyway, token-exact, from the local engine. Nothing hangs.

Shown on Gaffer's disclosed sim engine (labelled on every surface, never presented as a model or cloud AI). The P2P transport is identical and real with --engine qvac — the same bench then measures real model tok/s on your hardware.

Architecture · why only QVAC × Pear

One substrate. Not a bolt-on.

QVACThe mind, on-device. loadModel({modelSrc:'pear://…'}) · completion({stream:true})tokenStream · textToSpeech() (Piper) · startQVACProvider({topic}) when available.
PearThe transport, peer-to-peer. Hyperswarm match rooms · Noise Secretstream E2E · Hyperdrive model sharing over pear:// · HyperDHT holepunching.
CoreThe honesty layer. lib/state.js — every (state × event) pair defined and tested; lib/router.js — strict token ordering, token-exact resume on deterministic engines.

Take QVAC + Pear out and you'd need a cloud LLM, a cloud TTS, a model CDN, a signalling/TURN server and a rented GPU — plus a privacy policy asking fans to trust you.

Proof, not promises

It's real, and it's green.

220
tests passing · node --test, incl. real-swarm loopback-DHT integration
×7.8
tok/s speedup p50 · weak client → laptop peer, npm run bench
verify:offline
network guard blocks every non-local call, then runs the full flow
0
cloud calls · enforced by a network guard, not a promise

The ×7.8 transport figure is measured on disclosed sim-engine profiles (6 vs 48 tok/s) — CI also runs the bench artifact and a submission-readiness gate that re-verifies this deck's test count against a live run.

Gaffer

Every fan deserves
a pundit in their ear.

Even the one with a dead phone in the away end. Gaffer never once phones home.

Apache-2.0 QVAC track node cli.js --standalone Tether Developers Cup 2026

github.com/edycutjong/gaffer · built by Edy Cu

← / → · space  ·  P notes · ESC grid · C contrast