Ironfist Insights
no data — import yours

Your data, backups and sharing

Your match history lives in this browser and nowhere else. There is no account here, no server holding a copy, and nothing to log into. That is the whole design, and it has one consequence you have to act on: if the browser loses its storage, the data is gone, and the only copy that survives is a file you exported yourself.

Backups are yours to keep. Nothing on this page uploads anything.

This page runs top to bottom, and the sections are numbered because the first time through they are a sequence.

Status

The Status panel, showing the active profile, the match count, the date range covered and when you last backed up.

What the site currently holds: the player name it has, how many matches, the span from oldest to newest, and when you last exported.

The last item is the one people skip. Storage reads either persistent or best-effort. Persistent means the browser has promised not to evict this site's data under storage pressure. Best-effort means it has made no such promise, which is the default in several browsers and the normal state on Safari, where site data is discarded after a stretch of not visiting. If yours reads best-effort, plan on losing the data eventually and export accordingly.

1 · Export from wavu

The export step, with the loader line you paste into the browser console on your wavu profile.

The site never talks to wavu on your behalf. Cloudflare blocks scripted requests, and there is no per-player API to call in any case. So the job is split: a short script reads the match table off a wavu page you already have open in your own browser, and hands you a file.

That script runs in your browser's developer console, which phones and tablets do not have. Generating the file needs a desktop. Importing one is fine on a phone, and the page says so at the top of this section when it detects a touch device.

Put your Tekken ID in the field and the link below it fills in with your own player page, carrying limit=5000. That parameter is load-bearing: the default wavu page shows only your five hundred most recent matches. If you do not know your ID, follow the link and find yourself through wavu's search.

Open that page in a new tab, open DevTools with F12, and go to the Console. Some browsers refuse the first paste into a console and call it self-XSS protection. Type allow pasting, press Enter once, and paste again.

Then press Copy loader line here, paste that single line into the console, and press Enter. A .ironfistinsights file downloads. It is plain JSON with a checksum over the match array; the colophon covers what the checksum is and is not.

The loader is one line for a reason. Pasting the full script directly into some consoles, Firefox especially, can silently drop the last few characters of a large paste, so the code never runs and nothing visibly happens. One line loads the real script as an ordinary <script src> tag instead.

If you would rather read the whole script first, the disclosure underneath holds it, along with a direct download.

More than five thousand matches? The console prints the URL for the next page when you have one. Run it there too and import both files. Overlapping matches deduplicate on their own, whichever order you feed them in.

Getting your match history in walks the same sequence with more room around each step.

2 · Import

The import step, with the file picker that takes the exported file.

Drop the file on the zone, or use the picker. Files ending .hifi still import; that is the extension backups used before the rename, and it will keep working.

Import is idempotent. Re-import the same matches and they come back reported as duplicates, adding nothing, so running the export again next month is safe.

The receipt underneath says how many were new, how many were duplicates, and how many were invalid, with the date range covered. Invalid rows get their own disclosure listing the reason each was skipped, so a partial parse tells you what it could not read rather than quietly rounding down.

Two things can stop an import, and both need a decision from you.

Checksum mismatch. The file's checksum does not match its contents. It has been corrupted, truncated, or edited by hand. This is an integrity check and not a signature, so it says nothing about who made the file. Import it anyway only if you trust where it came from.

Profile mismatch. The file belongs to a different account than the data already stored, and this is the most consequential choice the page ever asks you to make. Add as a second account keeps both, and their matches are combined in the active profile from then on. Replace everything discards what is stored and switches to the file. Take the second option only if you meant to switch profiles.

Combining accounts changes how several pages read, because a rating in Tekken belongs to one character on one account. Anything rating-shaped is reported per ladder afterwards rather than as a single figure, and the dashboard says which panels those are.

3 · Back up

There are two files, and which one you want depends on whether it is for you or for somebody else.

Export profile writes everything stored, across every account: matches, settings, notes, tags, mappings, trainer and quiz progress. It ends in .ironfistinsightsprofile and it is the file that restores you. The button carries the match count so you can check it against what you expect.

Export match data only writes the games and the ratings and nothing about you. No settings, no mappings, no notes about your opponents. It ends in .ironfistinsights and it is a fuller sibling of the share link: whole matches instead of a summary, and still nothing describing how you use the site.

Both open here, and so does anything you exported before the split. Nothing decides what a file is from its name — rename one and it still imports as whatever it actually contains, and the line under the import says which it was and what it put back. That matters most in the direction people get wrong: a profile handed to somebody expecting match data cannot quietly restore their settings without saying so.

Export CSV writes the active profile's matches as a spreadsheet. It is for taking your data elsewhere. It does not restore anything here.

Neither export loses rows to a display preference. If Minimum games per character is hiding characters from the pages, they are still in the file.

Share a link packs a slice of your history into a read-only page. Pick a character and a date range first; a link carrying a year of results to make a point about one matchup is both a longer link and a larger disclosure than you needed. The payload lives in the URL fragment, so it never reaches a server. It does reach whoever you send it to, which is the point.

There is a hard length limit, and the dialog measures your selection against it before producing anything. A big history encodes to a URL far past what Discord will carry in a message, and a link nobody can paste is not a share link.

Delete everything is a clean slate, and it means the whole word: the match database, your notes and tags, your settings, your controller and keyboard mappings, your quiz history, your trainer progress and the flags that remember you have been here before. Afterwards the site opens on the first-run walkthrough, exactly as it would on a machine that had never seen it.

It asks twice, and the first question is the backup. The button that writes one is inside the dialog rather than somewhere you have to go and find, because the old version of this told you to export first and then gave you no way to do it without dismissing the warning. The second question wants the word DELETE typed out. Nothing here is stored anywhere else, so nothing can bring it back — a second OK button in the same place as the first is answered by the same reflex that answered the first.

A backup you have already downloaded is untouched by any of it. That file is yours, and reopening it is how you undo this.

What a shared link opens

A /share link renders a read-only snapshot with no opponent identity in it at all, since the codec drops that by design. Tiles across the top carry matches, record, win rate, sittings and best run, then a date range and a best and worst matchup sentence that is only stated when both clear the reader's own sample floor.

Under those sit three sections: Win-rate trend, Characters they played when there is more than one, and Matchups — vs opponent characters.

Opening a shared link never touches your own stored data. The page writes nothing and reads nothing from your database.

First-time setup

New visitors get a three-screen walkthrough once: Look, Data, Controller. Every screen moves on with one press and requires nothing, and every exit — Finish, Skip setup, ✕, Escape, clicking the backdrop — marks it as seen so nobody meets it twice. You can reopen it from settings, which also clears the flag so it behaves like a fresh visit.

What the backup file carries, and what it leaves behind

In the file: your matches, your rating snapshot, your character and opponent notes, your per-match tags, your trainer progress, and every setting on the settings page. Your keyboard and controller mappings, your quiz schedule, your profiles, your favourited pages and your remembered dashboard character are all in there too. A restore on a new machine gives you the site as you had it, not just the history.

Older backup versions still import, and always will, carrying whatever they were written with. One from before a field existed simply arrives without it, and that field keeps the value this browser already had.

Not in the file: the Glass background image, and only that. It is a photograph rather than a setting, JSON cannot hold bytes, and encoding it would inflate a phone picture by a third inside a file people mail to themselves. It stays on the machine you chose it on.

Where your data lives, and the backup format has the file format itself if you want to look inside one.