Roarcast is a live World Cup second screen that turns TxLINE consensus data into a story a fan can feel, then lets the fan call the next 90-second momentum shift.
Open the interactive demo · Watch the 26-second product video
The public demo runs the built-in replay so it never exposes credentials. Run the server locally with TxLINE credentials to switch the same interface to live fixture and odds snapshots.
It is not a trading terminal. It does not tell users what to buy or bet. It translates normalized probabilities into three fan-facing layers:
- The live story — who is gaining or losing control, written in plain language.
- Match tension — a deterministic score based on outcome proximity and the strongest recent move.
- Next 90 seconds — a lightweight prediction loop resolved by the next meaningful TxLINE update, with a session-only streak.
Most sports data products show more numbers. Roarcast reduces the numbers into a shared emotional frame and gives passive viewers one small reason to stay engaged. It is designed for the phone already in a fan's hand, not for a professional trader.
The server reads:
GET /api/fixtures/snapshotGET /api/odds/snapshot/{fixtureId}GET /api/odds/snapshot/{fixtureId}?asOf={timestamp}
Only normalized, demargined StablePrice rows are returned to the browser. JWT and API token values never leave the server. A 90-second historical snapshot powers the story delta and the fan challenge resolution.
Requires Node.js 20+ and a .env file in this repository or its parent directory:
TXLINE_API_ORIGIN=https://txline.txodds.com
TXLINE_JWT=...
TXLINE_API_TOKEN=...npm startOpen http://127.0.0.1:4185. Without credentials or without a server, the interface automatically switches to its bundled replay feed so the complete interaction remains reviewable.
npm testTests cover narrative selection, momentum resolution, required assets, responsive styles, server-side token boundaries, and accidental secret references.
- No wallet connection.
- No transactions or betting actions.
- No credentials in browser code, storage, logs, or the repository.
- Probabilities are explicitly presented as context, not betting advice.
- Session scores stay in
sessionStorageand are never uploaded.
Built as a standalone submission for the TxODDS World Cup Hackathon, Consumer and Fan Experiences track. Roarcast is a separate product and codebase from MatchPulse Agent.