objekt-tcg is a sibling project to objekt.my, cloned from its foundation and then pushed in a different direction: instead of trades and lists, it's a TCG-style pack opening game for Cosmo objekt collectors. It's abandoned now, but it was never really meant to ship; it was an excuse to spend time with real-time 3D rendering in the browser.

The idea

Where objekt.my derives ownership live from a blockchain indexer, this app owned ownership itself: users could open a free pack once an hour, the server rolled the cards, and the result was persisted to its own database. The indexer was only ever read as a catalog for card images and metadata, borrowing the same Next.js, Drizzle/PostgreSQL, Better Auth, and Redis foundation as objekt.my, but with its own database and its own Discord OAuth app.

What actually got built

Most of the work went into the pack itself: a scrubbable pack-opening animation built with React Three Fiber and Three.js, rendering real .glb models with customizable packs and stickers rather than a flat 2D reveal. That 3D layer is the part that ended up being the actual point of the project.

Why it stopped

It was against Cosmo's ToS.

The source repository is private, and there's no live deployment.

The 3D pack needs JavaScript and WebGL.

The real thing, not a screenshot: this is the project's own pack-open.glb, running in your browser. Drag to spin it all the way round — the app itself clamps the pack to a small tilt — and use the slider to scrub the tear open. The stickers and card art live in the app, so what you get here is the bare foil pack.