gradeornot

What's in the app

Everything below is built and working today. The things that are not are at the bottom, said plainly.

Centering measured from a photo

Point it at the card and it finds the four border edges, then compares the gaps and gives you a real percentage.

No machine learning and no server round trip. It sums how sharply brightness changes along each axis, which puts a spike exactly where a border begins. When it cannot find four clean edges it says so and returns nothing, because a made up measurement is worse than none.

A grade distribution, not a guess

It does not tell you the card is an eight. It tells you how likely every grade from one to ten is, and computes the money over all of them.

Two graders can look at the same card and differ, so a single number would be false precision. The weakest attribute caps the whole card, forgiven by at most one point, because a card with one scratched surface is a scratched card rather than an average.

The real cost, not the sticker price

Postage both ways, insurance that scales with value, sleeves and toploaders, then the marketplace fees at the other end.

Postage is charged per package rather than per card, so the batch size changes what every card in it costs. Drag the batch slider to one and watch the answer fall apart.

Break even grade and the odds of hitting it

The lowest grade at which submitting beats selling the card raw today, and your chance of landing at or above it.

This is the number the decision actually turns on. A card that needs a ten to break even is a lottery ticket; a card that breaks even at a seven is a different proposition entirely, even when the headline value is the same.

Every price says where it came from

A sold price you entered, a market data provider, or the app’s own estimate. Marked at every grade.

And when the whole curve is estimated, the app refuses to say send unless the edge would survive the estimate being wrong by the size of the fee. It would rather say borderline and explain why than be confidently wrong with your money.

It tells you when the tier is the problem

A card can clear every money test and still be refused for being worth more than the tier accepts.

Saying no when the real answer is yes on a different tier is a bad answer, so the app names the cheapest tier that would take the card instead.

A planner that picks the box

Add everything you are considering and it chooses the tier, the batch size and which cards actually go in.

Because postage is shared, the best box is not the best card repeated. It also flags cards that only look worth sending because better cards are carrying the postage for them.

It flags prices that disagree with themselves

If a lower grade ends up worth more than a higher one, something is wrong and it says so.

The estimates can never do this, so an inversion always means a supplied price is off. Usually a sold price typed against the wrong grade, or a comp from a different variant.

gradeornot.app foil stamped into black card stock

Not built yet

Accounts. Your collection lives in your own browser today. Nothing syncs between devices and nothing is stored on a server.

Sports cards. Pokemon first, because its card data is publicly available and sports card data mostly is not. The maths is identical; the data licensing is not.

Cert verification. Checking a slab against the grading company’s own database, to catch a reused or altered label.

Automatic condition from photos. Centering is measurable. Corners, edges and surface are not, not reliably, and an app that pretended otherwise would be confidently wrong about the attributes that cap a grade.

See it on a real card

Free, no signup, nothing held back.

Check a card