Coll3ctibles
As Founding Engineer at Indie-Pop I built Coll3ctibles, multi-chain collectibles for people who've never seen a seed phrase. One session covers six sign-in methods and three chains.
- Role
- Founding Engineer, primary developer on the 2023 codebase
- When
- 2023
- Client
- Indie-Pop (Coll3ctibles)
- Stack
- TypeScript, Next.js 13, NestJS 9, MongoDB, NextAuth, Stytch, and 6 more
- Status
- Archived

Context
Indie-Pop wanted brands and creators to run their own collectible storefronts and drops, for fans who had never owned a wallet. That meant three chains (Solana, Ethereum and Bitcoin), custodial wallets for newcomers, self-custody for crypto natives, and one account that works either way.
In 2023 I joined as Founding Engineer and became the primary developer on both codebases, a Next.js 13 frontend and a NestJS API on MongoDB. I made the architecture calls across the stack.
What I built
- NextAuth ties together Ethereum sign-in (SIWE), Solana and Bitcoin wallet signatures, passwordless email and phone codes through Stytch, and Twitter and Spotify OAuth. Wallet signatures are verified on the server with real cryptography for each chain. Newcomers get a Crossmint custodial wallet, so their first collectible arrives without a seed phrase.
- A Solana minting service on Metaplex Umi and Bubblegum mints compressed NFTs, including redeem and decompress to standard NFTs. The libraries were still in alpha in 2023.
- A user's Bitcoin Ordinals inscriptions resolve from their linked Bitcoin addresses through the Hiro Ordinals API.
- Brands get multi-tenant stores with their own slugs and chains, timed drops with countdowns, and statically generated public pages.
- Admins compose pages from typed sections (titles, rich text, carousels, FAQs and more), reorder them and publish. The editor and the live page share one render registry, so what you edit is what ships.

Key decisions
Reads go straight to the API, but every write goes through a Next.js route that checks the session on the server and re-signs a token for the backend on each request. The browser never holds the credential the API trusts, so nothing running in the page can reach it.
Each sign-in method has its own server-side check (SIWE for Ethereum, ed25519 for Solana, RSV for Bitcoin through Stacks) before a session exists. The hard part was doing that for every chain, including the less common ones.
Result
Coll3ctibles grew out of the Catalina Whale Mixer holder portal, with one platform instead of a new utility for every community. It shipped as founding-stage work, rough edges included.
Screenshots

Floating staking on Cardinal: staked whales float, unstaked ones sink. Wallets blurred.
My part
This was founding-stage MVP work, built fast with a small team. When I left, some surfaces were still prototypes, the permissions system was half built, and the wallet flows still needed a server-issued sign-in challenge. Ethereum and Bitcoin issuance went through Crossmint, and the minting I wrote is the Solana side. The later Coll3ctibles site, with pack opening and partner packs, came after my time.
Numbers
| Figure | What it measures |
|---|---|
| 6+ | sign-in methods in one session (Ethereum, Solana and Bitcoin wallets, email and phone codes, OAuth) |
Links
Stack: TypeScript, Next.js 13, NestJS 9, MongoDB, NextAuth, Stytch, Crossmint, Metaplex Umi / Bubblegum, wagmi, SIWE, Stacks, Hiro Ordinals API