AMD Developer Hackathon: ACT II · Track 2 · Built on Gemma 4 + Fireworks AI

TextSink

Four voices. One truth.

One 30s–2min clip goes in. Four perfectly-toned captions come out — plus live styled closed captions and two AIs arguing about what they're watching.

GitHub repo Run it yourself

One clip. Four voices. Live.

An official judge clip, captioned in all four contest styles by Gemma 4 — burned as animated typography.

Four voices grid

The captions (real output)

FORMAL

An orange tabby kitten walks forward through the foliage toward the camera in a wooded area.

SARCASTIC

A fierce predator emerges from the brush, clearly ready to conquer the entire forest one tiny, uncoordinated step at a time.

HUMOROUS-TECH

$ The latest AI agent successfully navigating its first training environment. Small, but the feature set is looking promising.

HUMOROUS-NON-TECH

A tiny orange explorer makes a grand entrance, bravely navigating the treacherous jungle of backyard leaves.

The Hecklers — two models, one argument

Every line generated live, turn by turn: Gemma 4 vs gpt-oss-120b, each reading the other's last remark. Three duos: STAN & GUS (sarcastic) · LINT vs VIBE (tech) · DORIS & PEARL (everyday).

The Hecklers

Gemma teaches Gemma — and the student wins

18–4

head-to-head wins for the self-trained textsink-g3-captioner over its teacher's prompted best-of-3, scored by a neutral LLM judge on accuracy + tone.

0

refusals or empty captions across the full 15-clip dress rehearsal (199s, one-third of the harness budget). Grounding is a discipline: retry → refuse → reroute — never hallucinate.

Every judge clip, four voices — the full gallery

All official clips with complete four-voice closed-caption sets, as 2×2 grids. Click any to play (loads on demand).

The Hecklers gallery — live two-model arguments

STAN & GUS (sarcastic old men) and LINT vs VIBE (code reviewer vs vibe-coder) on every judge clip. Every line generated live by two models reading each other.

FEATURED · DORIS & PEARL — the sunset roast battle

Same architecture, any model — graceful degradation, live

If the grading key can't reach our Gemma 4 deployment, the container detects it at startup and reroutes — logging the path:

[main] probe: deployment unreachable (404 ...) — switching to serverless models
[main] 3/3 done (62s elapsed) — all captions filled

Same official kitten clip, same prompts and gates — Gemma 4 vs the forced fallback (verification artifact):

GEMMA 4 · SARCASTIC

A fierce predator emerges from the brush, clearly ready to conquer the entire forest one tiny, uncoordinated step at a time.

FALLBACK · SARCASTIC

Because nothing says “groundbreaking” like a kitten strolling straight into the lens with its tail held high.

GEMMA 4 · HUMOROUS-TECH

$ The latest AI agent successfully navigating its first training environment. Small, but the feature set is looking promising.

FALLBACK · HUMOROUS-TECH

$ Cold start in action: the kitten boots its paws, initializes the tail flag, and streams forward with zero latency.

The quality travels with the Gemma-designed contracts, not the model — quantified in eval/ABLATIONS.md (mechanisms beat generic prompts 11–5 on the fallback model itself).

Architecture

TextSink architecture

The graded contract

Containerized (linux/amd64), standard Track 2 harness: /input/tasks.json → /output/results.json.