Public
Pokemon TCG restock monitor for UK retailers -> Discord
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Checks UK retailers for Pokemon TCG restocks and posts alerts to Discord. Currently scaffolded, not yet functional -- Smyths (Luton) is the first retailer being wired up.
main.ts-- interval job (runs every 15 min, the free-tier minimum), loops through retailer checkers, diffs against known state, alerts on new stock.db.ts-- SQLite table tracking last-known stock per retailer/store/product.discord.ts-- posts a formatted alert to a Discord webhook.kernel.ts-- headless-browser session harvesting (Kernel/Playwright), for getting past Imperva/Akamai-style bot protection. Not implemented yet.types.ts-- sharedRetailerCheckerinterface every retailer module follows.retailers/smyths.ts-- first retailer, in progress.
Smyths, GAME, and Very all block plain server-side requests with bot protection (Imperva / Akamai). Confirmed by direct testing on 2026-07-20. John Lewis and Hamleys are assumed to be similar but untested. The plan is to use a real headless browser (via Kernel) to solve the challenge once, harvest the resulting session cookies, then reuse those cookies for cheap polling until they expire.
DISCORD_WEBHOOK_URL-- where alerts get posted. Without it, the job still runs and records state, it just won't send anything. \ud83d\udc49 Add DISCORD_WEBHOOK_URL here: https://www.val.town/x/CAS98/pokemon-stock-monitor/environment-variables?key=DISCORD_WEBHOOK_URLKERNEL_API_KEY-- free account at kernel.so, Settings -> API Keys. Needed forkernel.tsto actually harvest a browser session. \ud83d\udc49 Add KERNEL_API_KEY here: https://www.val.town/x/CAS98/pokemon-stock-monitor/environment-variables?key=KERNEL_API_KEY
- Project scaffold (db, discord alerting, interval loop)
- Kernel session harvesting implemented
- Smyths Luton store-stock endpoint captured (needs a DevTools trace of the real "check store stock" request from smythstoys.com -- select Luton, hit a product page, copy the request Chrome's Network tab shows)
- Smyths checker working end-to-end
- GAME / Sports Direct
- Very / John Lewis / Hamleys