SSBM Stats

Slippi replay stats, parsed in your browser

SSBM Stats reads your local Slippi replay folder and builds a full statistical readout of your Super Smash Bros. Melee play — without your replays ever leaving your machine.

Open the dashboard

How it works

You point the page at the folder Slippi already writes your .slp replays to. The browser reads those files directly off your disk, parses them in background workers, and caches the resulting per-game statistics locally. There is no upload step, because there is nowhere to upload to.

The first run parses your whole library, which can take a while on a large collection. After that only new replays are parsed — a return visit re-scans the folder and skips everything it has already seen.

The privacy contract

This is the claim the whole product rests on, so it is worth stating precisely:

What you get

Every term above is defined on the metrics reference.

Requirements

A Chromium-based browser gives the smoothest experience, since it can hold a reference to your replay folder and re-scan it on later visits. Firefox and Safari work through a folder-upload fallback that re-selects the folder each time. Nothing is installed, though the app can be installed as a PWA and works offline once cached.

No account is required to use the dashboard. Signing in is only for syncing parsed stats between your own devices.

Melee history, no replays needed

Two parts of the site need no replay folder at all: the Melee majors record, covering every offline major since 2003, and the anonymous community benchmarks. Both are open to anyone.

Open source

The whole thing is on GitHub at 1973-pinball/SSBM_DASHBOARD, MIT licensed. The parsing pipeline, the statistics, and the database schema behind cloud sync and the community aggregates are all there to read.

That matters more here than it would elsewhere, because most of what this page claims is otherwise unfalsifiable. You cannot see from the outside that frame data is discarded after parsing, or that only thresholded aggregates are published. You can read the code that does it.

Being honest about the limit of that: reading the source tells you what the code does, not that the server is running exactly this code. Builds here are not byte-for-byte reproducible, so nobody can diff what you download against what is served. What you can check without trusting anyone is the browser itself — open the network panel and watch a parse: no request carries replay bytes, because there is no code path that sends them.

You can also run your own copy. Self-hosting points cloud sync at a Supabase project you control, which removes the operator from the picture entirely.

Open the dashboard