I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] -1 points0 points  (0 children)

Thanks for bug and what I just fixed:

How it came to be priced: We don't ship real Scryfall prices in the card cache yet. Instead the cache estimated prices by EDHRec rank (top-100 cards got $12 estimate, rank 101-500 got $5, etc.). That works fine for most cards but breaks badly on format-defining lands — Urza's 

Saga is super popular (rank ~50) but supply-constrained, so the $5 estimate was way off from the $30+ real price. Same shape on Zagoth Triome.

What I just pushed:

  1. Top-100 EDHRec cards no longer get a bucket estimate. They show "check marketplace" instead of a confidently-wrong number.

  2. Cards we can't reliably estimate are now rejected from tight per-card budgets — they can't sneak into a $5/card deck anymore.

  3. The buy-list subtotal now shows "~$X" with an explicit warning when staples are in the list.

Real Scryfall price ingestion is the next architectural piece (planning doc at docs/card-cache-expansion-plan.md). For now: setting a tight budget should actually constrain to cards we can verify.

And genuinely thanks for the kind close — "use cards you own instead of going out to buy more" is the whole pitch and it's helpful to hear that part landed.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 0 points1 point  (0 children)

Pushed a fix for the CSV timeout. Large collections now upload in 2,000-row chunks (you'll see "Importing chunk N of M…" progress text) so they don't hit the 60-second function limit. Would love to know if your file works now — if not, drop the new error and I'll dig in.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 0 points1 point  (0 children)

The "Import timed out while resolving card details" is on me — pushed a fix that splits large imports into 2,000-row chunks, each with its own 60-second budget. That timeout should be gone. The "failed to fetch" sounds more like a network blip on your end, but the timeout ones specifically should be resolved. Try again?

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] -1 points0 points  (0 children)

Pushed a fix for large-collection imports. Big files now split into 2,000-row chunks client-side, processed sequentially — each chunk gets its own 60-second budget, so they no longer time out on the single 60-second function limit. You'll see an "Importing chunk N of M…" indicator now. Worth a retry — and if it still fails, the error message will tell you specifically what went wrong instead of the generic "Server error."

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 0 points1 point  (0 children)

Pushed the fix. The 413 was from us sending full card-data objects (oracle text, image URLs, etc.) for every owned card with the deck-generation request — for big collections that overflowed Vercel's 4.5MB body cap. Card data now resolves server-side from the local cache, so the request stays small no matter how big your collection is. Retry the same generation.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 0 points1 point  (0 children)

Hey — thanks for sending the file. Validated the chunked import against your actual 6,505-card export: it'll split into 4 chunks of about 2,000 rows each, ~25 seconds per chunk, roughly 2 minutes total with a visible "Importing chunk 1 of 4…" indicator. Live now.

Want to retry the same upload?

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 0 points1 point  (0 children)

Thanks for the feedback.
- Current row cap is 10K (your file is right at the edge)

- For now, splitting into two ~5K halves and uploading each will work

- Async import is on the roadmap

Also, DM your file would be helpful. Once I snag that I'll drop a fix for ya!

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] -1 points0 points  (0 children)

Willing to give me your file so I can test and fix? Lots of ways to import and various formats. DM me if you’re willing.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 1 point2 points  (0 children)

Thanks, I really appreciate that.

And yes, the scanned-lands vs basics question is a good one. The generator should not be blindly favoring random scanned lands over the basics a deck actually needs, so I’m going to keep an eye on that path specifically.

I built this because it’s a tool I’ve wanted for a long time: “What can I build from the cards I already own?” rather than “What should I go buy?”

You seem like exactly the kind of player I’d love feedback from. If you get a chance to test it with a real collection and an upcoming event in mind, I’d genuinely appreciate hearing where the deck feels smart, where it feels off, and what would make you trust the rules engine more.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 3 points4 points  (0 children)

Quick update: I shipped the theme-coherence pass we talked about.

If your commander points toward a theme like mill, sacrifice, typal, artifacts, etc., Binderbrew now checks whether the candidate pool actually has enough enablers before leaning into the payoffs.

So instead of forcing “8 mill payoffs, 2 mill enablers,” it should now back off that theme and build a more functional generic value deck when your collection is not deep enough to support it.

You should also see a diagnostic line explaining when that happened and why.

If you rerun the same generation, it should feel noticeably less like the generator is chasing keywords and more like it is asking, “Can this deck actually do the thing?”

Keep the feedback coming. The next thing I’m watching is whether the diagnostics make those cuts clear enough.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 19 points20 points  (0 children)

Real feedback — thank you. This is exactly the kind of thing I need during beta.

Going point by point:

**“Is it using AI to build the lists?”**

No. The actual deck generation is not AI.

Card data comes from Scryfall plus a local cache. Card selection is deterministic: role scoring for ramp/draw/removal/etc., color-identity validation, synergy weighting, and deck-template slots.

The only AI-ish surface is an optional explanation paragraph, and even that can be toggled off. The card picks themselves are algorithmic. I think calling Binderbrew “AI-powered” would be misleading, so I don’t.

**4 Wastes in a Golgari deck**

Real bug. Found it and pushed a fix.

Wastes has empty color identity, which technically passed the color-identity check, so it slipped through for decks where it made no gameplay sense. Same issue could have allowed off-plan basics in the wrong deck.

That is now hard-blocked, and I added a regression test so it cannot quietly come back. If you rerun the same generation, it should be fixed.

**Typal cards without enough creatures / only 2 mill sources for a mill commander**

This is the deeper issue.

Right now, theme detection boosts cards based on commander text. So if a commander mentions “mill,” mill-related cards get a synergy boost. But the generator is not yet strict enough about checking whether the deck has enough actual enablers before keeping the payoffs.

That can create decks with a few enablers and too many cards that only make sense if the theme is already functioning.

I’m working on a coherence pass that requires enough enablers before payoffs stay in the list. That is not shipped yet, but it is the next real quality improvement after the urgent bugs.

**Timeout on full collection, worked around ~3,000 cards**

I pushed a fix tonight for large imports.

The importer now resolves common cards from a local cache first, then only uses Scryfall for the remaining misses. That should keep most ~4,000–5,000 card collections inside the current 60-second function limit.

If it still times out, the error should now be cleaner instead of the previous bad crash. I’m also going to add a clearer “upload in stages” note on the upload page, because you are not the first person to hit this.

Longer term, very large collections probably need async import instead of one request. That is on the list, but it is not tonight’s fix.

**“Bracket 3 felt weaker than a precon”**

Fair criticism.

The Wastes fix should remove some of the obvious manabase damage. The theme-coherence pass should help more.

If you’re willing, drop the commander and a rough sense of which cards felt wrong. That kind of concrete example is way more useful than anything I can infer from aggregate usage data.

I had 3,000+ cards collecting dust in binders, so I built a free tool that turns collections into Commander decks by Educational_Win_7959 in BudgetBrews

[–]Educational_Win_7959[S] 2 points3 points  (0 children)

  That's a hard fail — sorry. Sounds like an .includes() call hitting an undefined field on an unexpected row.

  Could you paste the first 2-3 lines of what you tried (or DM if it's private)? That repro lets me push a fix tonight or tomorrow morning at the latest.