← Binderdex dev log

2026-09-07

The grading calculator stopped guessing

productwebsolo-founder

The calculator that always answers is lying

Yesterday I ran a quality pass over the free tools on Binderdex, and the grading calculator had a bug I would have been proud of in college. Enter a 100% selling fee and it would hand you a finite break-even. No warning, no error. Just a number that could never be true.

Worse: when a graded comp wasn't available, the calculator treated it as zero. The spread math would then report a confident result against nothing at all. Every number it showed you looked trustworthy. Some of them were fiction.

Teach the tool to refuse

The repair is less about math and more about manners. Missing or invalid inputs now withhold the results entirely, and impossible fee math gets called out by name:

// before: absence looked like data
const comp = comps.find(c => c.grade === grade)?.price ?? 0;
const spread = comp - breakEven; // a confident number built on nothing

// after: refuse until the inputs deserve an answer
if (!input.hasSoldPrice || !input.hasGradedRef) {
  return { status: "incomplete", hint: "Add a graded sale to compare against" };
}
if (input.feeRate >= 1) {
  return { status: "impossible", hint: "A 100% fee can never break even" };
}

Small choices that fell out of the same pass: changing the card clears the stale estimates, and every money value gets normalized to cents before validation. The manual scenario 100/200/25/5/10 now yields a 144.45 break-even, 150 net, a +50 spread. All of it checked by a 32-case arithmetic matrix.

The same lens on the other 14 tools

Once the calculator was honest, I pointed the pass at the rest of the catalog. The fixes are unglamorous but you'll feel them: guest drafts and edited binder plans recover instead of vanishing, collection totals validate before they save, exports carry every row, and retries skip confirmed saves so you stop double-adding cards.

If you build tools people trust with numbers, here's the takeaway I'd staple above the desk: a tool that can't answer should refuse loudly. A confident wrong number costs more trust than any error message ever will.

this is the build log of binderdex · www.binderdex.com · all entries · essays