Personal project
DeckFetch
Paste a Magic: The Gathering decklist and get the cheapest in-stock price for every card across local game stores, plus the fewest stops needed to actually collect it.
The problem
Buying a deck locally means opening a dozen shop sites and checking every card one by one to find who has it cheapest and in stock, then working out how many shops you actually have to visit to get all of it.
What I did
Built the full stack. A scheduled ingestion job crawls each store's catalogue into Postgres as a warm cache: rate limited, retry aware, and tolerant of stores that ignore pagination. The search API matches a pasted decklist against that cache, with a bounded live-lookup fallback for cards past the catalogue's pagination ceiling and a wall-clock budget so large decks return partial results instead of timing out. A greedy set-cover optimiser then picks the fewest stores that cover the deck and plots them as numbered pickup stops on a map.
Outcome
Turns an hours-long manual comparison across eight stores into a few seconds, with per-shop basket totals, condition filtering, an owned-cards exclusion and compressed shareable deck links. Live as an installable PWA, with the pricing and optimisation logic under unit test.