Discard — premium NFC
cards, with an AI brain.
Our most ambitious build to date. A full-stack e-commerce + SaaS for premium metal NFC business cards, with linked digital profiles and Disco — a Claude-powered chatbot that quietly improves itself with every conversation.
The brief.
Discard sells premium metal NFC business cards — the kind you tap on someone’s phone and your full digital profile pops up. They had a Shopify store, a basic landing page, and a growing problem: every prospect asked the same three questions before buying, and the founders were drowning in DMs at 11pm.
They wanted a real website, a real product configurator, and they wanted to stop answering “is this card actually metal?” forty times a week. They asked us if we could build something that would.
”We spent more time replying to Instagram than running the company. We needed the website itself to do the talking — and to do it well enough that we’d trust it to.”
— Discard founders, kickoff callTwo tracks, one product
What emerged was a project with two distinct halves, both shipping at once:
- The commerce side — a full e-commerce flow with a 3D card configurator, Stripe checkout, and a logistics-aware shipping model
- The AI side — Disco, a chatbot embedded everywhere, that knows the product, learns from every chat, and routes the hard cases to a human
The commerce side.
We rebuilt Discard’s storefront from scratch as a React 19 + Fastify app on Supabase. Shopify went away. The configurator is an in-house WebGL component — pick metal finish, engraving, NFC chip type, then preview it from any angle before adding to cart.

Live 3D configurator
WebGL card preview that updates in real-time as customers pick finish, engraving and chip type.
Stripe + Bulgarian VAT
Checkout flow that handles EU VAT correctly, with Stripe and bank-transfer fallback for B2B.
Linked digital profile
Every card ships with a SaaS profile — editable contact card, drag-drop link tree, analytics.
Production dashboard
Internal admin for the engraving partner — orders queue, status updates, automated shipping.
Meet Disco.
Disco is the chatbot. It lives in the bottom-right of every page, in the dashboard, and on every NFC profile that customers send out. It answers product questions, helps customers configure orders, schedules calls with the team for complex requests — and gets better every week.
We built it on Anthropic’s Claude with a custom RAG layer. The product catalog, FAQ, shipping policies, return policies, and the founders’ Slack history (with permission) are all indexed in Pinecone. When a customer asks something, Disco retrieves the relevant context and generates a grounded answer. Hallucinations are not a luxury we can afford on an e-commerce site.
The conversation that took 11pm DMs over three nights now happens in 90 seconds at any hour. And it’s converting — the founders see roughly half of all carts originate from a Disco conversation.
The architecture.
Disco’s pipeline runs entirely on the Discard infrastructure. No third-party chatbot widget — that was an explicit “no” from the team. They wanted to own the data, the model selection, and the prompt.
Inference is on Anthropic’s API. Storage and orchestration live on the Discard Supabase project. The only piece outside our stack is Pinecone for vector search — and we’re prototyping a self-hosted pgvector replacement to bring that home too.
How it learns.
”AI that learns from your conversations” is a hand-wave on most marketing pages. Here’s what it actually means at Discard:
Nightly review
Every night, a Sonnet-powered batch job reads the previous day’s conversations and flags any answer Disco gave that the retrieval system was less than 70% confident about. These get reviewed by a human at Discard — they either approve, edit, or reject. Approved answers become new FAQ entries that get re-embedded into Pinecone.
Repeat-question clustering
The same job clusters customer questions by semantic similarity. Once a cluster hits five hits without a matching FAQ entry, Sonnet drafts a new entry and surfaces it to the founders for approval. Common Bulgarian-language phrasing patterns surface this way too.
Conversation handoff
If Disco can’t answer with high confidence in two turns, it offers to schedule a call. The handoff includes a Sonnet-generated summary of what’s been asked and tried, so the human starts where Disco stopped.
”We thought we’d be writing the FAQ for months. Disco basically wrote it for us — we just edit and approve.”
— Discard founders, post-launch debriefResults, three months in.
Discard launched the new platform in early 2026. The numbers are still settling, but the trajectory is clear.
Beyond the numbers, the team can finally take a weekend off. Disco answers 91% of incoming customer messages without human help, and routes the rest with full context. Founders spend their time on product, not on copy-pasted DM replies.
The content engine.
A launch does not end with the website. After it, there has to be something to post every few days, without gaps. Discard needed video, product stills and articles from day one, with a team of two and no budget for a crew.
Every finish, the same card.Paid · BG
The paper blows away. The metal does not.Paid · EN
Tap it to a phone. That is the whole demo.Reels · TikTok · BG
The only card still on the table.Shorts · organic queue
Video without a crew
Stills first. Our AI production pipeline puts out a wide set of product frames. We keep the ones that survive a close look, and only those get animated. Captions go into the picture itself, because most people watch with the sound off. Presenters are generated to match the brand, so a new face and a new script cost about what a re-render costs rather than what a shoot day costs.
We carry the English cut over to Bulgarian and match the lip movement, then export every winner in 9:16, 1:1 and 16:9, ad-ready. Over 300 clips so far, and nobody has booked a studio.
Photography without a studio
Over 500 product stills, all built on real photographs of the card itself. The engraving sits lighter than the surface it is cut into. The packaging is the packaging Discard actually ships. The wordmark is the real wordmark, at the right weight. That last part matters more than it sounds: a still that gets the product wrong is a still that has to be redone.
A blog that writes itself, up to a point
A keyword backlog feeds the queue. Each topic becomes a bilingual draft with a generated hero image, then goes to review. Someone here reads every one before it goes live. Sixty articles in five months, one every two or three days, each cross-posted to LinkedIn and X.
How long do NFC business cards last?
NFC business cards without a subscription
Are digital business cards safe?
The same engine runs for other brands — AI content production.
The stack.
Modern, intentional, and most of it inside our usual toolbox.
- React 19 + Vite for the storefront and dashboard, with React Server Components for product pages
- Fastify on Node 22 for the API and Disco’s orchestration layer, deployed on Fly.io
- Supabase — Postgres, Auth, Storage and Edge Functions all in one. Scaled with us from prototype to launch.
- Stripe for payments, with a custom Bulgarian VAT module and bank-transfer fallback
- Three.js for the 3D card configurator, with custom GLSL shaders for metal finish previews
- Anthropic Claude — Haiku 4.5 for live conversation, Sonnet 4.5 for the nightly improvement loop
- Pinecone for vector search, with BGE-M3 embeddings and a custom multilingual retriever for Bulgarian + English
- Resend for transactional email, including order updates and Disco-handoff confirmations



