FLAGFALL Lichess TV · bullet · live Rive Broadcast & Livestream UI Challenge

Broadcast graphics, wired to a live feed

The clock is
the opponent.

FLAGFALL is a broadcast graphics package for bullet chess. It is not a replay of a game — it is showing whatever game lichess.org is showing right now. Grandmaster bullet, a move about every second, nobody’s rehearsal.

Live above. Evaluation computed locally by Stockfish 18 — not a cloud lookup 1920 × 1080 · scaled to fit

Bullet ends in a scramble: both players under fifteen seconds, moves landing 200ms apart. Most broadcast graphics get louder there. This one gets quieter, and then the instrument starts to fail. Never the board — the readout is broken, the game is not.

01 / Chess

The live overlay →

The full instrument on the live Lichess TV bullet feed, with the diagnostic readout underneath. Press C for a clean feed, R to replay the last moment.

02 / Formula 1

The same file, a different sport →

The identical .riv replaying the 2026 Hungarian Grand Prix from OpenF1 lap timing. Same artboards, same view models, same Luau. Only the adapter changed.

What is actually in the file

The board is Rive, not canvas

The eight-by-eight, the thirty-eight piece shapes, the last-move marks and the check ring are objects in the Broadcast artboard, bound to one root view model with 282 properties. A move is a hand: the piece rises, grows about five percent as it crosses, and settles.

The evaluation is local

Stockfish 18 runs in the browser at 150ms a move. That cannot keep up with bullet, so every request carries the ply it asked about and a result arriving two plies late is thrown away rather than pinned to the wrong move.

One file, two sports

The three modules re-caption themselves out of the same bound text: 02 / MOVES becomes 02 / LAP GAPS. DRS range, inside one second, trips the same scramble state that a chess flag-scramble does. That mapping was not planned; it fell out of the architecture.

Built agent-first

The artboards, view models, state machines, bindings and Luau were authored by an agent driving Rive’s own Editor MCP rather than by hand. The Luau cores carry 32 tests that run inside the editor.