Marketplace · 2025–2026
GameSwapHub
Scan a retro game, add it to your collection, and swap the duplicates with other collectors.
1. What it is
GameSwapHub starts with a phone camera. Point it at a game cover, and the app identifies the title, files it in your collection, and shows what it is worth. Mark a duplicate for swapping and it becomes visible to other collectors.
It runs on a backend written for it: catalogue, collections, messaging, price lookups, push notifications and nightly backups.
2. The hard parts
- One catalogue, many owners A game exists once in a shared catalogue, deduplicated by platform and title. What a collector owns is a separate row pointing at it. Without that split, the same game scanned by two hundred people would be two hundred incompatible records.
- Prices from a rate-limited API Valuing a collection means querying a marketplace API once per title. The scan runs at a concurrency of three with a deliberate pause between calls, because the vendor's rate limit — not the network — is the real constraint.
- Thirty names for one console "PS1", "PlayStation", "Sony PlayStation" and "PSX" are the same machine. A hand-maintained alias table normalises around thirty platforms before any price lookup runs, or half the lookups would return nothing.
- Scraping behind a bot wall Retail price sources sit behind Cloudflare. Scraping runs through a solver proxy with a single serialised browser and a one-hour cache, retrying three times with backoff — plus a filter that drops accessories and consoles so they cannot pollute a game's price.
- Schema changes without losing data Automatic schema updates handle new columns but will not rename or reshape anything. An additive SQL migration step runs alongside, so the schema can move without dropping tables.
- Backups that actually restore A nightly dump in compressed custom format, uploaded off the machine and rotated after seven days. The restore command is written down and tested — which is the part usually missing.
3. Notes
- Push notifications, in-app messaging, and a premium tier of three free scans a day.
- Also integrates open banking (PSD2) for reconciling payments.
4. Contact
Something to build, fix or hook up? Write — replies usually land within a day, EU timezone.
chris@kubicki.live