Deterministic · offline · free to play

Every barcode is a
sealed name.

Scan any real product and it decodes — the same way on every device, forever — into a creature that is uniquely, verifiably yours. No server to brick it. No AI bill per scan. And no “perfect barcode” to datamine: the code fixes who a creature is, never how strong.

Join the waitlist

try it below ↓ · scan your kitchen, identify your wilds

The one idea

The barcode decides identity.
Play decides value.

genotype · lookup-able, and that's fine

What the seed fixes

Species, type, name, shape, palette, rarity. Hash a barcode and you get the same creature anyone else gets. Reproducible, tradeable, offline-verifiable.

stats spend one shared tier-budget → only shapes differ, never totals

phenotype · earned, un-lookupable

What play earns

Trained forms, battle scars, provenance, ranked standing. The 30-hour creature that's actually yours — the part worth bragging about — can never be googled.

this is the wall every barcode game died at. we built around it.

How it works

Scan. Reveal. Collect. Battle.

  1. 01

    Scan a true-name

    A real barcode — cereal, soda, a book — is canonicalized and hashed. One frozen integer-only path; the same input always lands the same creature.

  2. 02

    Watch it resolve

    Silhouette → type → palette → true-name → stats, choreographed. You're reading a name that was always encoded, not rolling a random blob.

  3. 03

    Build a Codex

    Fresh scans enter unidentified; a first battle resolves them. Your collection persists locally — yours, with no account required.

  4. 04

    Fight with the build

    A pure, deterministic auto-battler: all the skill is in who you bring and how you place them. A replay is just a re-run.

The non-negotiables

Three promises we built into the code.

Never pay for power

The scan → collect → battle loop is free and uncapped — no healing wall, no gacha. Money only ever buys flair and storage.

No perfect barcode

Every creature spends one shared tier-budget — enforced in tests, not hoped. A datamine finds a shape, never a strictly better creature.

The collection is yours

Identity is offline and reproducible forever. If the servers vanish you still scan, collect, and replay every battle.

Live prototype · runs entirely in your browser

Try it now — type any barcode.

This is the real Phase-1 engine, not a mockup. Type a product code (or hit Surprise), watch it resolve, then explore forms, battle, and the territory metagame.

Same barcode → same creature, on every device, forever. Try a real product in your kitchen.

Awaiting a signal…

Codex (0)

Many Forms

Play — not the seed — reshapes a creature into one of several forms. Every form spends the same stat budget, so forms are situational roles, never raw power. A creature's available branches are gated by its genotype (innate lean ★ first).

Battle

All skill is in the build. resolveBattle() is a pure deterministic function — same squads + seed always replay the identical fight. Auto-formations are drawn from your Codex; press play to animate the log.

    Territory — virtual faction war

    Seasonal factions contest districts made of nodes; a node is held by async defense — a squad snapshot garrisons it until someone out-builds it. A siege is just resolveBattle() over two snapshots. Mirrors npm run battle -- siege.

    Be there at launch

    Get the first scan.

    No spam — one note when the build opens, and the occasional “scan an everyday object” clip.