Flip District

Flip District

Admin Dashboard

FD

Flip District

admin · v5
Monitor: –
Pinger: –
Carter: –
Vouch: –
Active Members
–
MRR
–
Cycle Time
–
seconds
Alerts Today
–

Services

Loading...

Monitor

Active Stores–
Collections–
Active Keywords–
Keyword Groups–

Recent Alerts

Loading...

Quick Actions

Loading…

Shopify stores

Loading
 

A2A leads

Keepa Tokens
 
per minute
Leads Today
 
Evaluated Today
 
Last Deals Poll
 

A2A Monitor

Keepa & Feeds

Fields: name, enabled, priceType (0 Amazon, 1 New, 10 FBA), dateRange (0 day, 1 week, 2 month), deltaPercentRange [min,max], currentRange [pence,pence], salesRankRange [min,max], includeCategories [node ids], titleSearch, mustHaveAmazonOffer, isLowest90.

Rules

Scoring & Tiers

Weights are relative. Tiers are score cut-offs out of 100; below B is dropped.

Channels

Role ID is numeric (or "here" / "everyone"). Category routes (JSON) win over tiers when a keyword matches.
Posts a clearly labelled sample lead using saved webhooks.

Gating & Fees

Leads assume the member is ungated. Brands here only add a warning and a score penalty.

Evaluate ASINs

Runs the saved rules against live Keepa data (1 token per ASIN). Nothing is posted.

Recent Leads

Coming Soon
 
products ASDA has created but not published
Live
 
pages switched on
Watching
 
PIDs polled for going live
Worker
 

ASDA George

1Products are found before their page existsASDA creates every product in its catalogue days or weeks before the page goes live. The worker sweeps the ID range and lists each one here with its price. The link works the moment ASDA switches it on.
2Artwork shows up early tooASDA uploads product images by barcode before launch. The gallery below is what ASDA is about to range. Price tells you which product is which until names appear.
3You get pinged when it goes liveWatched products are polled every few seconds. When the page switches on, Discord gets the link, name and image, and the barcode is matched to the PID here.

Look something up

Paste a George link, a 9-digit PID, or a 13-digit barcode. Answers come straight from ASDA through the worker's proxies.

Products

Artwork ASDA has uploaded

Each tile is keyed by the product's barcode, not its PID. A pink PID under a tile means that barcode has been matched to a live product. Click a tile for the full-size image.
Watchlist
PIDs are polled for their page switching on. Barcodes are polled for the link and name. Products found by the sweep are watched automatically when their price matches the list.
In-store stock often shows before the web page. Codes are ASDA store numbers.
Discord alerts
Alerts: new products found, product went live (pinged), new artwork, in-store stock.
Advanced sweep range, polling speed, rate limits, image sweep
Defaults are tuned already. ASDA blocks an IP after roughly 60 fast requests, so speed comes from more proxies in the shared Shopify list, not from lower delays.

Product sweep

Polling

Artwork sweep

Footwear monitor

Products

ProductPriceStockSizesChecked
×

Browse listings

Pull a brand or listing page straight from the site and watch anything on it. This is a one-off fetch; nothing is saved until you press Watch.

Add products

One link or code per line. Explicit watches never age out and can carry their own ping role.

Collection

Collection modeWatch everything on the listing pages, refreshed each pass
DiscoveryScan the pages for new arrivals
Unit countsBasket probes cost one call per size
DepartmentBrand discovery on the JD index, keeps clothing out

Alerts

Restocks
New products
Low stock
Launch timers

Price drops

Scans the site's sale listing and posts reductions to their own channel. The first pass seeds silently; from then on a product new to the sale list, or cut again by the threshold, posts with sizes.
Price drops

John Lewis monitor

PM2 jl-monitor asks John Lewis's catalogue API for every watched SKU and P-number every minute: a product appearing = Published (or Live when it is already orderable), orderable turning on = Stock Live, off = Sold Out. The hourly artwork sweep walks the image CDN for new Pokémon SKUs and auto-watches them until they publish. SKUs are the 9-digit image codes (115594366); P-numbers are the page id (p115694614) for products whose SKU John Lewis has retired; they show no image and read Not listed while the page is down, and pick up the catalogue image and SKU the moment John Lewis lists the page again. Removing a default entry writes the full list into config.json.

John Lewis stock check

Saved lists

John Lewis's online-stock endpoint reports units per SKU, and it answers for SKUs that have no product page yet. Paste SKUs (9 digits, any separator) or pick a list. Check stock is one call. Catalogue asks for the p number, link and price one SKU at a time, throttled, so it takes a second per SKU.

Argos monitor

PM2 argos-monitor runs four lanes, none of them in a browser. Search reads one term every 20 s from Argos's /sd/<term>/ search pages, which Akamai passes to Argos's Vercel app without its bot check (finder-api itself refuses every non-browser client); each read uses a fresh spelling of the term so the cached copy is never used: a watched id appearing = Live with the link, delivery or collection flipping on = Restock, any unwatched Pokémon TCG listing = New Product. Sitemap reads Argos's product sitemaps every 30 min as the slow go-live check. Artwork sweeps the image CDN over the TCG id bands every 2 h and posts images loaded since the last pass that read as sealed TCG. Argos keeps duplicate records per product, so an artwork id is "loaded somewhere" and the link comes from search at go-live. Draws reads the copy of /events/pokemon-30th, /events/argos-app and any new Pokémon events page every 10 min and posts Argos Drop when Argos publishes draw wording (app-only draw, entry window, golden ticket). Ids are the 7-digit product number in the Argos URL.

Artwork loaded on Argos's CDN

Very monitor

Two PM2 apps. very-drop runs three lanes: queue probes Queue-it for verypokemonDDMMYY events (today plus the next days) every 30s and posts when one opens; live hits Very's product search every 20s and posts the moment a watched SKU, or any Pokémon listing, appears; records quick-adds watched PIDs every minute and posts when Very creates the product record. very-monitor sweeps the Amplience image CDN for new artwork in the Pokémon SKU blocks and classifies it. SKUs are the 5-character Very codes (X9GQ6); PIDs are the 10-digit page ids (1601356844). Check now re-probes every watched SKU's artwork and every watched PID's record from here.

Watched SKUs

Watched PIDs (record lane)

Monitor

Open site ↗
Loading…

Add to watch list

Check the site now

Alerts and polling

Loading…
The monitor rereads its config on the next tick, no restart needed.

Zephyr race

The Autopinger reads every webhook alert in the server. Ours are signed Flip District, Zephyr's are recognised by the markers below. Each alert is keyed by retailer and product id from its link (ASIN, Very/Argos/JL/Currys/Disney ids, Shopify handle), with a title match as fallback, and both sides are timed by Discord's own message timestamp. Lost = Zephyr first, Missed = Zephyr alerted on a site we monitor and we posted nothing within the join window, Coverage gap = a site we have never alerted on. Losses over the notify threshold and every miss are posted to the report channel.

By retailer

Events

Zephyr channels

Every Zephyr channel the bot has seen in this range. Ignored channels drop out of the race, history included: bot checkout logs by name (checkout-logs), the rest one by one. On the known-only retailers (Topps) a Zephyr alert only counts if we have alerted that product ourselves.

Alerts it could not key

Alerts recognised as ours or Zephyr's but with no product link. If Zephyr's show up here, their link sits somewhere the parser does not look yet.

Hamleys go-live monitor

Hamleys' site search runs on Adobe's catalogue service, which only returns a product once Hamleys enables it. The monitor (PM2 hamleys-monitor) asks for every watched SKU every few seconds: a SKU appearing = Now Live alert with the real link, its stock flag turning on = Restock. Stock is a yes/no flag, Hamleys exposes no unit counts. Check now runs the same call from here. Use the 7-digit catalogue SKU; the 6-digit Hamleys ID is optional and only adds the /catalog/product/view/id/ link; the TPCi item code (10-10447-101) only adds a pre-publish thumbnail.

Artwork loaded on Hamleys' server

The artwork lane sweeps Hamleys' image paths by Pokémon item number (TPCi code) every 90 minutes. A real image where the placeholder used to be means the product is loaded but not enabled yet; it posts as Artwork Loaded and the catalogue lane posts Now Live when Hamleys switches it on. Rows marked watched are already on the list by TPCi code.

MINISO go-live monitor

MINISO UK's live site blocks every Pokémon page and its APIs before a launch, but two routes still answer: a per-product review endpoint that says whether a Magento entity id is enabled, and the compare list, which hands back the product name. PM2 miniso-monitor polls the watched ids every 20 s (404 → 200 = Now Live with the link), scans the disabled holes around the 30th block and the ids above the frontier every 2 min (a new enable that reads as Pokémon TCG = New Product), and reads the sitemap every 6 h to attach page links. Products carry two numbers: the 4-digit entity id this monitor keys on, and the 13-digit EAN as the SKU. Add an id with its url_key when you know it.

Disney Store UK

Check stock on a product

Paste a disneystore.co.uk link or the product number from the end of it. Disney's product endpoint reports the exact units left to sell, per size where the product has sizes. This is read live from Disney with no login, so it works for anything on the site.

–
units left

Recent checks

Click one to check it again. Kept in memory until the dashboard restarts.
Nothing checked yet.
Active Keywords
 
Groups
 
Pings Today
 
Total Pings
 

➕ Add Keyword

📁 Groups

#️⃣ Saved Channels

0 selected

Active Keywords

🛡️ OOS

Webhooks

Every monitor has two channels. Default gets its live alerts (new products, restocks, drops, queues), with the keyword routes posted in addition. Sales gets every sale, clearance and reduced-price alert, and nothing else goes there. Monitors pick up a save on their next tick, no restart needed. Leave a box empty to keep what is saved; ✕ clears it. Shopify, Wix, WooCommerce and Square keep each store's own webhook; their Default is the fallback for stores without one.
SiteDefault webhookSales webhook
Loading…

Pokémon Center canary proxies

Loading…
pc-guard reads Pokémon Center only through these, one line each (host:port:user:pass, user:pass@host:port or a URL). Use 3 to 5 disposable ISP proxies, never the checkout lines in Shopify/proxies.txt. Saving replaces the whole list and pc-guard reloads it within a tick. Saved proxies are never shown back, only their hosts.

Pokémon Center monitor

PM2 pc-guard (Node, PokemonCenter/guard/monitor.js) is the whole Pokémon Center monitor. It reads /en-gb/ through the canary proxies in PokemonCenter/canary-proxies.txt (edit them on Monitors → Webhooks, never the Shopify list) and classifies each answer by Imperva's headers: Stage 2 = the site-wide hCaptcha gate (rule 5618123), posted as the queue warning because on every recorded drop the queue opened a few minutes behind it; Stage 3 = the Imperva waiting room is visible; Queue Down when the gate lifts. Products are tracked in the same worker. Reputation captchas and Error 15 on one line only cool that line, they never count as the gate.

Order tracker

Order lookups are not part of pc-guard: they only run while the PC Watcher extension is on. Pokémon Center only answers a real browser, so the lookups run inside the extension (pinned pokemoncenter.com tab on the VPS desktop). It pulls this list as a queue, runs the public Order Status lookup (order id + shipping postcode, the same call as /en-gb/orders) one order at a time within its 3 calls/min budget, and posts Now tracking / Shipped / Cancelled / Items cancelled / In review / Tracking added embeds to the webhook below, mentioning the member who registered the order. Members add their own with /pcorder add in Discord; finished orders (shipped, cancelled, returned) stop polling. Postcodes are masked here and never appear in embeds.

Catalogue

New sealed products the pricing engine found before they are in its catalogue: the Asmodee UK trade feed (lists products months ahead) and titles the monitors and Autopinger could not match. Approving adds the product to Market, resell lines and the tracker's stock images, and the eBay collector starts pricing it. Nothing is added without a yes here. A scan runs every 12 hours and posts to the prices alert webhook when something new turns up.
Total Links
–
Sent Today
–
Claimed
–
Unclaimed
–

Extension hits

Orders
–
Units ordered
–
Carts
–
Members hitting
–
Loading hits…

Checkout Links

Loading...
Active Reminders
 
Scheduled Today
 
Total Sent
 
Next Run
 

⏰ Schedule Reminder

Scheduled Reminders

📖 Guides
📢 Updates
📅 Calendar

—

Guide postedGuide drafted / update unpostedUpdate posted

Drafts & Unposted

Loading…
Total Guides
 
Drafts
 
Posted
 
Pending
 

📖 Create Guide

👟 Sneakers
🃏 TCG
💰 Low-Key
📅 Weekly
📆 Daily
Live Preview
Product Name

Saved Guides

📝 Changelog

Posts through the Updates webhook (Settings → Content Webhooks).
Discord Preview
Server Update — 09 Sep 2026
0 updates across 0 services.

Changelog History

Loading...
Total Services
–
Online
–
Offline
–
Restarts
–

Services

Auto-refresh: ON
Loading services...
Active Members
–
New This Week
–
MRR
–
monthly recurring
Churn Rate
–
this month
On Trial
–
currently trialing
Trial Conversion
–
converted vs lost
Members 7d
–
change over 7 days
MRR 7d
–
change over 7 days

7-Day Trend members & MRR

Member Growth last 30 days

Churn Rate last 6 months

Membership Plans

Loading plans...

Recent Activity

DateEventPlanAmount
Loading...

Recent Alerts

Monitor
Poll Interval
Time between each monitor cycle (ms)
New Products
Alert on new product listings
Restocks
Alert when variants come back in stock
Price Changes
Alert on price increases or drops
Price Threshold
Minimum % change to trigger alert (0 = any change)
Auto-Ping
Ping Role ID
Discord role to mention on ping
Ping Channel
Channel for recap embeds
Saved Roles
One per line, Name | role id. Every ping-role box on the dashboard offers these as a dropdown (plus everyone / here)
Cooldown
Seconds between duplicate pings
Global Negatives
Keywords to always exclude
Skip Alert Types
Embed "Type" values that never ping or DM (not buyable yet). Comma list; leave empty to ping everything
Keyword Match Scope
Which embed text keywords are checked against. "+ ID fields" reads PID / SKU / ASIN / EAN / style code fields too, but not Price, Stock, Sizes, Links or ATC
Content Webhooks
Calendar Webhook
Discord webhook for release calendar posts
Updates Webhook
Discord webhook for server update announcements
Monitor Heartbeats
Heartbeat Webhook
Discord webhook for the periodic "all monitors alive" summary (Very, Littlewoods, John Lewis, Hamleys). Down and recovered alerts go to the admin alert webhook and push, like the bots.
Heartbeat Every
Minutes between summaries. 0 turns the summary off; down/recovered alerts still post.
Save with the bar at the bottom
Tools

Webhook Test

Export / Import

Keywords, groups, and settings

Monitor Status

Loading...

Webhooks

Loading...
🔔 Notifications & Backups

Push Notifications

Checking…
Admin health alerts (monitor or bot down, recovered) arrive as browser notifications. On iPhone, add the dashboard to the Home Screen first.

Backups

Loading…
📦 Download backup
Zip of the Autopinger export, database dumps, and monitor configs. A copy is saved on the server nightly after 03:00 UTC; the last 14 are kept.
📜 Audit Log