top of page

Yarn - Speedrun verification tool

A tool that replaced up to an hour of manual moderator work with a 60-second audit. Built for the competitive speedrunning community.

​​

  • React

  • TypeScript

  • Tailwind CSS

  • Firebase Firestore

  • YouTube iFrame API

  • Jest

  • GitHub Actions​

  • CI/CD Pipeline

GitHub-Mark_edited_edited.png
Example.gif

Try it live with Sample Data: https://kr0ss0.github.io/yarn/?run=2p8L9LzGUWWbtTA7Huba

(Press the Reset-button to clear data)

The problem

Competitive speedrunning runs on Load Removed Time. The clock pauses during loading screens so that hardware speed doesn't determine who wins. For over a decade, the verification process had an unavoidable flaw:

A runner times their own loads. A moderator then re-times the entire video from scratch to confirm the runner wasn't mistaken. For a long run this takes up to an hour of duplicated work, on every submission.

Yarn eliminates the redundancy entirely.

How it works
Yarn splits the process into two modes with a clear handoff between them.

Runner mode: The runner marks each load start and end frame-by-frame directly against their YouTube video, then exports their markers as a shareable cloud link or JSON file.

Verifier mode: The moderator opens the shared link and is dropped straight into a structured audit. Instead of scrubbing through video manually, they use automated jump-points that snap the playhead to the exact frame before, at, and after each load. Visual confirmation replaces data entry.

The result: verification time drops from up to an hour to under 60 seconds. The timing data is fully public, meaning any community member can inspect the exact frames used for a record, removing the "black box" from competitive moderation.

Validation Engine

Yarn includes a real-time validation system that monitors the marker timeline as the runner works. It automatically detects:

  • Load screens that overlap each other

  • Invalid durations where the end frame precedes the start

  • Markers placed outside the boundaries of the timed run

Every inconsistency is flagged instantly with a contextual warning. No invalid dataset can be exported.

Testing & CI/CD

The project ships with unit tests on pure utility functions and a CI/CD pipeline via GitHub Actions that runs the full test suite on every push and deploys automatically to GitHub Pages on merge to main.

yarn_warning_text.png

Linus Ekberg

bottom of page