/* Body sections for ZenTag landing — kept tight per section */ // ============ 1. NFC CARDS SHOWCASE ============ function CardsShowcase() { const [active, setActive] = React.useState('matte'); const materials = [ { id: 'matte', label: 'Matte Black', sub: 'Soft-touch finish' }, { id: 'metal', label: 'Brushed Metal', sub: 'Aerospace aluminum' }, { id: 'glass', label: 'Frosted Glass', sub: 'Smoked translucent' }, { id: 'white', label: 'White Minimal', sub: 'Pearl-coat polymer' }, { id: 'wood', label: 'Wooden Luxury', sub: 'FSC walnut grain' }, ]; const benefits = [ { i: , t: 'Tap to share', d: 'One touch, full profile transferred.' }, { i: , t: 'iPhone & Android', d: 'Native NFC reader on every modern phone.' }, { i: , t: 'No app required', d: 'Recipients open a link — that\'s it.' }, { i: , t: 'Reusable forever', d: 'Update your profile, card stays the same.' }, { i: , t: 'Instant contact save', d: 'Add to phone book in two taps.' }, { i: , t: 'Eco-friendly', d: 'One card saves 200+ paper cards a year.' }, ]; return (
{/* Material picker */}
{materials.map(m => ( ))}
{/* Big card stage */}
{/* Stacked back cards */}
{/* Active card */}
Selected
{materials.find(m=>m.id===active).label}
{materials.find(m=>m.id===active).sub}
{benefits.map((b, i) => (
{b.i}
{b.t}
{b.d}
))}
); } // ============ 2. QR + 3. PROFILE — side-by-side storytelling ============ function QRSection() { return (
{/* Left: phone scanning QR */}
{/* QR card */}
SCAN · ZENTAG.IO/AM
{/* Phone scanning */}
{/* Camera viewfinder */}
{/* Reticle */}
{/* Corner brackets */} {['tl','tr','bl','br'].map(c => (
))}
{/* Top hint */}
Point your camera at a code
{/* Bottom captured */}
zentag.io/collins-wonder
Open · Save contact
{/* Right: copy */}
{[ { i: , t: 'Dynamic QR', d: 'Edit your profile, the code stays valid forever.' }, { i: , t: 'Scan analytics', d: 'See who scanned, when, and from where.' }, { i: , t: 'Offline support', d: 'Cached profiles work without a signal.' }, { i: , t: 'Personalised codes', d: 'Brand each code with your logo and palette.' }, ].map((f, i) => (
{f.i}
{f.t}
{f.d}
))}
); } // ============ 3. PROFILE EXPERIENCE ============ function ProfileSection() { return (
{[ { i: , t: 'Profile + avatar' }, { i: , t: 'Unlimited links' }, { i: , t: 'Embedded videos' }, { i: , t: 'Booking widgets' }, { i: , t: 'Digital resume' }, { i: , t: 'Multi-language' }, { i: , t: 'Lead capture form' }, { i: , t: 'Branded everything' }, ].map((c, i) => (
{c.i} {c.t}
))}
{/* Profile mockup stack */}
{/* Back: floating module cards */}
This week
{[35, 60, 45, 80, 55, 92, 70].map((v,i) => (
))}
412 views +38%
New lead
Nana Adjei · Asante Capital
{/* Main phone */}
); } // ============ 4. ORG / TEAM ============ function TeamSection() { return (
For teams & organizations

One brand. Every employee.

Roll ZenTag across your entire org with branded cards, a control plane for permissions, real-time analytics, and direct CRM sync.

{/* Dashboard mockup */}
{/* Feature triplet */}
{[ { t: 'Team dashboard', d: 'Provision, freeze and reassign cards as headcount changes.', icon: }, { t: 'CRM integrations', d: 'Pipe scans straight to Salesforce, HubSpot, or Attio.', icon: }, { t: 'Brand controls', d: 'Lock typography, palette, and approved logo lockups org-wide.', icon: }, ].map((f,i) => (
{f.icon}
{f.t}
{f.d}
))}
); } function DashboardMockup() { const team = [ { n: 'Collins S. Wonder', r: 'Design', v: 412, s: 'active' }, { n: 'Akosua Boateng', r: 'Sales', v: 1284, s: 'active' }, { n: 'Kwame Mensah', r: 'Engineering', v: 87, s: 'active' }, { n: 'Adwoa Asare', r: 'Operations', v: 246, s: 'paused' }, { n: 'Yaw Owusu', r: 'Marketing', v: 568, s: 'active' }, ]; return (
{/* Window chrome */}
app.zentag.io/teams/acme
acme · 248 members
{/* Sidebar */}
Workspace
{['Overview', 'Team', 'Cards', 'Analytics', 'Integrations', 'Brand kit', 'Settings'].map((l, i) => (
{l}
))}
{/* Main */}
{/* Stats */}
{[ { l: 'Active cards', v: '241', d: '+12 wk' }, { l: 'Total scans', v: '8,442', d: '+38%' }, { l: 'Leads captured', v: '1,128', d: '+22%' }, { l: 'Avg. saves', v: '64%', d: '+4%' }, ].map((s,i) => (
{s.l}
{s.v}
{s.d}
))}
{/* Chart */}
Network activity
Last 30 days · all departments
{['1W','1M','3M','YTD'].map((p,i) => (
{p}
))}
{/* Team table */}
Member
Role
Scans
Status
{team.map((m,i) => (
{m.n}
{m.r}
{m.v}
{m.s}
))}
); } // ============ 5. HOW IT WORKS ============ function HowItWorks() { const steps = [ { n: '01', t: 'Design your card', d: 'Pick a material, drop in your logo and brand assets. Add as many social and content blocks as you want — re-order them anytime.', icon: }, { n: '02', t: 'Tap or scan', d: 'Hand your card to anyone. NFC fires the profile on modern phones, the printed QR catches everyone else. No installs. No friction.', icon: }, { n: '03', t: 'Connect instantly', d: 'Their contact lands in your CRM, your profile saves to their phone, and your dashboard logs the moment. The handshake is two-way.', icon: }, ]; return (
{/* Connecting arrows */} {steps.map((s, i) => (
{/* Number bg */}
{s.n}
{s.icon}
Step {s.n}
{s.t}
{s.d}
{i < steps.length - 1 && (
)}
))}
); } // ============ 6. MOBILE EXPERIENCE ============ function MobileSection() { return (
{/* Two phones */}
{[ { t: 'Apple Wallet & Google Wallet', d: 'Pull up your card from the lock screen — no unlocking required.', icon: }, { t: 'Home-screen widget', d: 'Pin a QR widget that updates the moment you edit your profile.', icon: }, { t: 'Browser-based, always', d: 'No app installs for you or anyone you share with.', icon: }, { t: 'Responsive at every size', d: 'Profiles scale beautifully from a 4.7" phone to a 32" monitor.', icon: }, ].map((f, i) => (
{f.icon}
{f.t}
{f.d}
))}
); } function WalletScreen() { return (
9:415G
Wallet
{/* Card 1 — featured ZenTag */}
ZenTag · Smart Card
Collins S. Wonder
{/* Card 2 — collapsed */}
Boarding pass
Loyalty · Café
); } // ============ 7. SOCIAL PROOF ============ function SocialProof() { return (
{/* Metrics row */}
{[ { v: '2.4M+', l: 'Cards shipped' }, { v: '86%', l: 'Recipients save the contact' }, { v: '38s', l: 'Average tap-to-save' }, { v: '142', l: 'Countries delivered' }, ].map((m,i) => (
{m.v}
{m.l}
))}
{/* Testimonials */}
{[ { q: "We rolled ZenTag out to every account exec at our Accra office in three weeks. Lead capture from trade shows tripled the next quarter.", n: 'Ama Mensimah', r: 'VP Sales · Cinder Ghana' }, { q: "Paper cards never made it past the conference hotel. ZenTag actually lives on people's phones long after the handshake.", n: 'Kojo Boadi', r: 'Founder · Form & Field, Kumasi' }, { q: "The brand controls are sharp. Every staff card looks like ours — and updates centrally when we rebrand across our regional offices.", n: 'Efua Asantewaa', r: 'Head of Brand · Lumen, Takoradi' }, ].map((t,i) => (
"
{t.q}
{t.n}
{t.r}
))}
); } // ============ 8. FEATURES GRID ============ function FeaturesGrid() { const features = [ { t: 'NFC Tap Sharing', i: , span: 'lg:col-span-2', big: true }, { t: 'QR Scanning', i: }, { t: 'Contact saving', i: }, { t: 'Analytics', i: }, { t: 'Team management', i: }, { t: 'Lead capture', i: }, { t: 'CRM sync', i: }, { t: 'Wallet integration', i: }, { t: 'Instant updates', i: }, { t: 'AI smart profiles', i: , span: 'lg:col-span-2', big: true }, { t: 'Digital resume', i: }, { t: 'Calendar booking', i: }, { t: 'Product links', i: }, { t: 'Video embeds', i: }, { t: 'Multi-link profiles', i: }, ]; return (
{features.map((f, i) => (
{f.i}
{f.t}
{f.big && (
{f.t === 'NFC Tap Sharing' && 'Works on every iPhone since 7 and any Android with NFC. No app required.'} {f.t === 'AI smart profiles' && 'Suggests blocks, drafts your bio, surfaces the right call-to-action.'}
)}
))}
); } // ============ 9. FINAL CTA ============ function FinalCTA() { return (
Start in 2 minutes

Network smarter
with ZenTag.

One smart card. Unlimited connections. Ship yours this week.

{/* Floating card + QR */}
Get your card See all cards
Free profile · From GH₵150 for your physical card · Ships across Ghana
); } // ============ FOOTER ============ function Footer() { return ( ); } Object.assign(window, { CardsShowcase, QRSection, ProfileSection, TeamSection, HowItWorks, MobileSection, SocialProof, FeaturesGrid, FinalCTA, Footer });