The problem
Every Commander recommender is collaborative filtering over decklists. They are very good at confirming consensus, and they cannot reach past it.
EDHREC, Moxfield and Archidekt all score a card by who else played it alongside your commander. That is item–item CF, and it performs well on cards it has already seen. A card with an empty column has nothing to score.
The model
So make the item side content-based and learn the interaction. A dual-encoder: the commander becomes a query through self-attention over its own features, and every card becomes a key built from a frozen 128-d MTG2VEC embedding (my own encoder, trained separately on rules text) concatenated with 118 explicit features. The score is their dot product.
The explicit features handle the cases where MTG2VEC was not providing enough signal on its own, such as mana value, colour identity, and power and toughness.
What ships
The site is a formulaic reading of those regressed scores. Three lenses, each optimising a different question against the same underlying fit.
- RecommendFit blended with predicted card quality.
- Pure fitHow characteristic of this commander, quality ignored.
- SleepersFit minus how often the card is played with this commander.
Because a card's score is a function of the printed card, a good one can be found whether or not anybody has put it in a deck before.