A tiny, no-backend web app for tracking your World Cup 2026 sticker album (1034 stickers — 48 teams + tournament + history + shinies) and swapping doubles with friends.
The whole thing is a static site (two files: index.html + catalog.js). There's no server and no database — each person's collection is encoded into a short swap code, and friends paste each other's codes in to compute the trade. The code is the data.
- Track your album — mark each sticker as Need / Got / Spare. Spares are your trading currency, so they're highlighted.
- Quick add by team — paste team codes + numbers and ranges (
MEX 4 7, BRA 16-20, GER 2s 5s, FWC 1-3) instead of tapping hundreds of tiles. - Team sections — each of the 48 nations + FWC specials gets its own collapsible block with sticker names, codes, and per-team progress.
- Swap matching — paste a friend's code and see, in both directions, what you can give them (your spares ∩ their needs) and get from them (their spares ∩ your needs), plus the even-trade count.
- Multiple friends — add several codes; the list ranks who you can swap with most.
- Persists locally — your album is saved to the browser via
localStorage.
Each sticker has one of three states (missing / have / spare), so a collection is 2 bits per sticker. The full 1034-sticker album packs into ~345 base64 characters — small enough to send over text or drop into a QR code. Matching is a set intersection between two decoded collections.
Swap code format: wc26v2:<count>:<base64 of 2-bit-packed statuses>. Codes are indexed by catalog order, so both sides need the same catalog.js.
Serve the directory (needed because catalog.js is loaded as a script):
python3 -m http.server 8000
# then visit http://localhost:8000Any static host works, free:
- Cloudflare Pages — connect this repo, build command empty, output dir
/ - GitHub Pages — Settings → Pages → deploy from
main - Netlify Drop — drag
index.html+catalog.jsonto https://app.netlify.com/drop
catalog.js exports CATALOG (an array of {code, name, team}) and CATALOG_META. Source: the laststicker.com checklist for the Panini FIFA World Cup 2026 Standard Edition. catalog.json is the same data as JSON, kept in the repo for tooling.
- "Add to Home Screen" install (web app manifest + icon) so it feels native on phones
- QR code sharing for swap codes
- Export / import collection as JSON for cross-device backup
- Native SwiftUI version with CloudKit sync for cross-device groups
MIT — see LICENSE.