CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

eSIM store: market audit, marketing site, dashboards, Stripe plumbing, SEO/AI-search engine #3697

Merged⚡ AI-generatedXSccantynz wants to mergeclaude/esim-website-audit-16xl2rmainopened Jun 10, 2026
ccantynzcommented Jun 10, 2026

Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/Esim/pull/1


What this delivers

🔍 Internet-wide competitor audit (docs/COMPETITOR-AUDIT.md)

  • 28 eSIM brands inventoried (Airalo, Holafly, Saily, Nomad, Jetpac + 23 more) with positioning, pricing models, and coverage claims
  • Naming analysis: the winning pattern avoids "sim/roam/air" entirely — 10 name ideas shortlisted ("Voyamo" is the working title, one-line swap in lib/site.ts)
  • Design audit of the top 9 sites + the market's common weaknesses we exploit
  • Key finding: AI-search optimization is near-zero in this vertical — that's our moat

🌍 The site (Next.js App Router + Tailwind v4)

  • Aurora-gradient hero with live 190+-country search and from-price chips
  • 225 statically generated /esim/{country} pages — the programmatic SEO long tail, each with unique copy, per-GB pricing (MobiMatter's best idea, presented beautifully), Product/AggregateOffer + FAQPage + Breadcrumb structured data
  • Destinations explorer, how-it-works, compatibility, and help pages — all with FAQ schema

📊 Dashboards

  • Customer (/dashboard): eSIM cards with data-usage bars, top-up CTAs, orders, account — the "great web dashboard" gap no competitor fills
  • Admin (/admin): revenue/orders/conversion stats, top destinations, order management, plan catalog, customer LTV
  • Both run on typed demo data (lib/demo-data.ts) that defines the backend contract

💳 Stripe plumbing (wired, not live — as requested)

  • POST /api/checkout creates real Checkout Sessions when keys exist; simulates orders in preview mode without them
  • Signature-verified webhook with a fulfillment stub ready for the eSIM supplier API
  • Nothing can charge anyone until STRIPE_SECRET_KEY is set

🚀 SEO + AI-search machine

  • Full sitemap (~230 URLs), robots.txt explicitly welcoming GPTBot/ClaudeBot/PerplexityBot
  • llms.txt, /llm-info assistant facts page, and a machine-readable /api/plans JSON price feed — no major competitor does any of this
  • Campaign roadmap in docs/SEO-PLAYBOOK.md

Verification

  • npm run build ✅ — 249 pages generated
  • npx tsc --noEmit ✅, npm run lint
  • Production server smoke test: all key routes 200, simulated checkout returns success URL, plan feed serves valid JSON

Before launch (tracked in README)

Final brand/domain decision · eSIM supplier API · auth + database (gate /admin) · QR email delivery · Stripe live keys

https://claude.ai/code/session_016pMaCaxSE5WQMLnnC7QeYW


Generated by Claude Code

ccantynzcommented Jun 10, 2026

Originally written by @vercel[bot] on GitHub.


The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
esim Ready Ready Preview, Comment Jun 11, 2026 4:21am

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts