About RestockNearMe
A community map of where trading card game product has actually turned up, kept current by the people who went to the store.
How it works
- Someone spots a restock and posts it: store type, store, set, product, roughly how much was left, and an optional price and purchase limit.
- A photo of the shelf is required. No photo, no post — it's the one thing that separates a report from a rumor, and it lets everyone else judge for themselves what was actually there.
- The report lands on the live map immediately, sized by how much stock was reported and colored by store type.
- Everyone else keeps it honest. “Still there” and “All gone” votes decide whether the pin stays green or flips to sold out.
What the badges mean
- Live — reported in stock within the last 6 hours and not yet voted gone.
- Verified — 2 or more people confirmed it, and confirmations outnumber “gone” votes.
- Sold out — 2 or more people reported it gone. Confirmations can flip it back if a second wave hits the shelf.
- Older — still on record, past the 6-hour live window. Reports drop out of the default feed after 48 hours.
What this site doesn't know
There is no store inventory feed behind any of this. Nothing here is scraped from any retailer, and no report is checked against a store system — because there isn't one to check against. Every pin is one person's word about one moment. Reports go stale within minutes on a hot set, so read the timestamp and the vote counts before you decide it's worth the drive.
Accounts are optional
Reading the map, posting a report, and voting all work signed out and always will — an account gate on the data would defeat the point. What an account adds is memory: a home area, alert rules, and an inbox of the reports that matched them.
Privacy
- No account is needed to use the site. If you make one, it stores an email address, a hashed password, and whatever preferences you set — nothing else.
- Passwords are hashed with scrypt and a per-account salt. Sessions are random tokens; only their hash is stored, so a copy of the database doesn't hand over anyone's login.
- Reporting a handle is optional; leave it blank and the post is anonymous.
- A random id is stored in a cookie and hashed before it's saved. Its only job is stopping one browser from stacking votes on the same report.
- The map opens near you without asking permission, using the approximate location your internet connection reveals to any site you visit. It's city-level at best and often wrong on a VPN — a starting view, not a claim about where you are.
- Precise location is only ever read when you tap for it. Those coordinates stay in your browser for sorting and remembering the map view, and are never sent to the server unless you attach them to a report you submit.
- Photos have their metadata removed on the server before anything is stored — EXIF, XMP, and IPTC, which is where cameras write the GPS coordinates of wherever the shot was taken. Your browser also shrinks and re-encodes the file first, but the guarantee doesn't depend on that: it holds for anything that posts a photo, including an app or a script.
- Pins mark stores, not people. Don't post your home address, don't post details about store staff or other shoppers, and frame photos on the shelf rather than the aisle around it.
Ads and the paid tier
The site carries banner ads to cover hosting, and a Pro plan will let you turn them off and get alerts pushed to your phone instead of waiting until you next open the site. Pro is not on sale yet and no payment details are collected anywhere here.
One thing that won't change: paying will never buy earlier or better data. Every report is visible to everyone the moment it lands. A map where subscribers saw stock first would stop being worth reading.
Ground rules
- Only post restocks you saw yourself, in the last few hours, with a photo you took yourself. Don't reuse a photo across posts or pull one off a forum.
- Don't post marketplace listings, resale prices, or your own for-sale inventory. This is a map of retail shelves.
- Mark things gone when you clear them. Accurate sold-out data is worth as much as a fresh find.
- Be decent in the store. Sites like this get shut down by the behavior they encourage, not by the data they publish.
Independent, and unbranded on purpose
RestockNearMe is an independent, volunteer project with no affiliation to, endorsement from, or connection with any card publisher, manufacturer, distributor, or store. The site ships with no company names, logos, or product-line names of its own: stores are described by what kind of store they are, and the specific store, set, and product on each report are free text written by the person who filed it. Any brand name you see on this site was typed by a contributor to describe what they saw, and belongs to whoever owns it.
Running it yourself
The whole thing is a Next.js app with a SQLite database — clone it, run npm install && npm run seed && npm run dev, and you have a local copy with sample data. See the README for details.