ihyd

POWER N9NE — A Commander-first multi-format community platform

A single-page web app for MTG players: deck builder, league management, tournaments, playmat, stats, and achievements — all under one identity.

Deployed at: https://ihyd-league.github.io/ihyd/


What’s in the repo

File Purpose
ihyd-main-integrated_11.html The entire application. One file, ~59k lines, vanilla DOM.
sw.js Service worker — network-first for HTML, cache-first for static assets.
manifest.json PWA manifest.
icon-192.png / icon-512.png / icon-512-maskable.png PWA icons.
COMBOS_WORKER.js Cloudflare Worker proxy for Commander Spellbook combos API.
MOXFIELD_IMPORT_WORKER.js Cloudflare Worker proxy for Moxfield + Archidekt deck imports.
SCANNER_WORKER.js Cloudflare Worker proxy for commander scanning (Claude vision).
CLAUDE.md Project briefing — philosophy, priorities, rules. Read first.
ROADMAP_MASTERLIST.md Full feature vision + priority markers.
BACKLOG.md Active bug/polish queue.
OVERNIGHT_AUDIT.md Public summary of the codebase audit.
PLAYERREGISTRY.md Player record schema + migration phase notes.

Running locally

# Any static HTTP server works. Python's stdlib:
python3 -m http.server 8080
# Then open http://localhost:8080/ihyd-main-integrated_11.html

No build step, no dependencies. All modules are IIFEs inline in the HTML.


Worker deploys

Three Cloudflare Workers power server-side features. They’re optional — the app degrades gracefully when each is absent.

# Example for COMBOS worker — same pattern for the others
npm i -g wrangler
mkdir ihyd-combos && cd ihyd-combos
wrangler init --yes
cp ../COMBOS_WORKER.js src/index.js
wrangler deploy

After each deploy, swap the <your-account> placeholder URL in the HTML:

Scanner worker URL is already wired.


Current state


Documentation conventions


Phases


Credits

POWER N9NE is built by a solo maintainer with AI-assisted pair programming. Every commit is reviewed before merge; no speculative rewrites, surgical changes only.