08/32proof of conceptDigital Business Cards

Card Studio

Branded digital business cards as fast mobile pages, stored in git with no database.

What it solves

Paper business cards go out of date the day a title changes. A digital card is updated in one place, shared by QR code and saved to a phone in one tap.

How it runs

Six steps, input to output

Goes inA person’s contact details, entered by an admin or imported in bulk

  1. 01

    Issue

    An admin creates or imports cards from the dashboard.

  2. 02

    Clean up

    Claude tidies bulk imports and drafts bios.

  3. 03

    Validate

    Every content file is checked against its schema.

  4. 04

    Commit

    Each save is one atomic commit to the git repository.

  5. 05

    Publish

    The card goes live as a fast mobile page with its QR code.

  6. 06

    Save and capture

    A recipient saves the contact in one tap; a lead form with a consent checkbox sends a signed webhook to the CRM.

Comes outA public card page with a QR code and a one-tap contact save

What it does

Issues branded digital business cards as fast mobile web pages.

Admins issue and manage cards from a dashboard, each person gets a public page with a QR code, and a recipient saves the contact to their phone in one tap.

There is no database: cards are JSON files in a git repository, every save is one atomic commit, and the commit history is the audit log.

Claude cleans up bulk imports and drafts bios, and lead capture carries a consent checkbox and a signed webhook to the CRM.

Three decisions

What shaped the build

Built with

8 parts

Next.js 16
app + server components
GitHub API · Octokit
content store, atomic commits
Zod
every content file validated
Claude
import cleanup + bios
Auth.js
admin sign-in + roles
Upstash Redis
rate limiting
Resend
card delivery + lead alerts
Vercel
deploy on every commit