Skip to content

About

Browser extension that records the Magic: The Gathering matches you play on endstep.cc: results, play/draw, mulligans, opponent cards and archetype, win rates by deck and matchup. Chrome, Firefox, Edge, Safari; everything stays in your browser.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

128 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Endstep Tracker

A browser extension that records the Magic: The Gathering matches you play on endstep.cc, automatically, and turns them into win rates by deck and by matchup. Nothing to type, no account, everything stays in your browser.

The dashboard: win rate, last matches, matchups by archetype

Install

Chrome Web Store (also Brave, Opera) · Firefox · Edge · Safari on Mac (iPhone coming)

On Android, Firefox runs it; Chrome and Brave on Android have no extensions.

Features

  • Every match recorded: format, Bo1/Bo3, score, play/draw, mulligans, opening hand, turns, life totals, length, full game log.
  • The opponent's archetype, recognized from the cards you saw against endstep's own metagame (Pauper, Modern, Premodern, Legacy, Vintage), named after the commander in Duel Commander, and correctable by hand.
  • Win rates by deck and by matchup, on the play and on the draw, per version of your list, ranked or not; in a matchup, game 1 against after sideboarding.
  • My cards: for each card of your deck, your win rate in the games where you drew it, where you didn't, in your opening hand, drawn later, played, and in play (a reanimated creature counts). A card has one name: printed names (Secret Lair, Universes Beyond) and both faces of a card count as one card.
  • Your sideboarding, recorded between games: your usual plan against each archetype, to copy or export.
  • A small panel on endstep.cc: your record in the matchup, your usual sideboarding between games, opponents you met before.
  • Your past matches, imported from your endstep history when you ask for it.
  • Your decks, your way: file the matches the site gave no deck for in one go, merge a deck split under several names, move a deck to another format, even one the site doesn't have.
  • Share an image of your stats, ready to paste on Discord.
  • CSV and JSON export, backups.
  • In English, French, Spanish, German, Italian and Brazilian Portuguese.

Privacy

Everything is stored locally (chrome.storage.local). Nothing about your matches leaves the browser; the extension only sends anonymous usage statistics (install, update, one signal a day, uninstall), which can be switched off in the dashboard's Data menu. The only network requests are endstep's public metagame API (archetype recognition), Scryfall card images when you hover a card in the dashboard, and the names of your deck's cards looked up once on Scryfall (a printing with its own name, the other face of a card), and your own endstep history pages when you import them. The feedback form opens only when you click it. The extension never plays or clicks for you. Details in PRIVACY.md.

How it works

Plain JavaScript, Manifest V3, no dependencies and no build step: the code in this repository is the code that runs.

File Role
hook.js In the page: mirrors the game messages endstep already sends to the browser (read-only)
content.js, tracker.js Turn those messages into match records and store them
overlay.js The panel on endstep.cc (closed shadow root, never takes the keyboard from the game)
dashboard.*, popup.* The dashboard and the toolbar popup
shared.js, meta.js Records, archetype recognition, endstep's metagame
background.js, telemetry.js Badge, re-attaching open endstep.cc tabs after an update, anonymous usage statistics

Development

  1. chrome://extensions, turn on Developer mode, Load unpacked, pick this folder.
  2. Reload the endstep.cc tabs that were already open.
  3. Tests: for t in test/*.test.js; do node "$t" || break; done

Releases follow store/STORE.md; changes are listed in CHANGELOG.md (in French), and the detailed notes on internals, tests and publishing are in docs/DEVELOPMENT.md (in French).

Feedback

"Give feedback" in the extension (Data menu, or the popup) opens a short form. Bugs and ideas are also welcome as GitHub issues.

License and support

MIT. A fan project, not affiliated with endstep. If it helps you, you can buy me a coffee.

About

Browser extension that records the Magic: The Gathering matches you play on endstep.cc: results, play/draw, mulligans, opponent cards and archetype, win rates by deck and matchup. Chrome, Firefox, Edge, Safari; everything stays in your browser.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages