Skip to content

Premium landing page, SEO/AEO, DB-driven brands, domain provisioning - #23

Merged
willwearing merged 1 commit into
mainfrom
feat/landing-site-custom-domains
Mar 22, 2026
Merged

Premium landing page, SEO/AEO, DB-driven brands, domain provisioning#23
willwearing merged 1 commit into
mainfrom
feat/landing-site-custom-domains

Conversation

@willwearing

Copy link
Copy Markdown
Owner

Summary

  • Landing page rebuild — all marketing components redesigned to match Just Listen's premium aesthetic (9xl typography, gradient mesh hero, bento grid features, dark navy How It Works, glow-pulse CTAs). All content driven by BrandConfig.
  • SEO + AEO infrastructure — EducationalOccupationalCredential JSON-LD, AI-aware robots.txt (block training bots, allow retrieval bots), brand-aware llms.txt, OG/Twitter Card meta, PostHog landing analytics (CTA clicks, scroll depth, pricing toggle), scroll-triggered fade-in animations.
  • Database-driven brands — Prisma Brand model with JSON columns, seed script for all 4 brands, backend CRUD API (GET/POST/PATCH/DELETE /brands), frontend resolve-db.ts with 5-min in-memory cache and hardcoded fallback.
  • Automated domain provisioning — Vercel API integration (addDomain, removeDomain, getDomainStatus, getDnsInstructions), admin endpoints that auto-provision domains on brand creation with DNS instruction generation.
  • CI improvements — Added TypeScript type checking (backend + frontend) to the test pipeline.

Test plan

  • Frontend type check passes (0 errors)
  • Backend type check passes (0 errors)
  • Frontend tests pass (49 suites, 235 tests)
  • Backend tests pass (66 suites, 526 tests)
  • Visual check: run bun run dev and verify landing page renders correctly
  • Verify localhost:3001/llms.txt returns brand-aware content
  • Verify localhost:3001/robots.txt shows AI crawler rules
  • Run Prisma migration on staging: npx prisma migrate dev --name add_brands_table
  • Run brand seed: npx ts-node prisma/seeds/brands.ts
  • Set VERCEL_PROJECT_ID, VERCEL_TEAM_ID, VERCEL_API_TOKEN env vars before testing domain provisioning

🤖 Generated with Claude Code

… domain provisioning

Phase 1: Rebuild all marketing components (Nav, Hero, Features, HowItWorks, CTA, Footer)
to match Just Listen's premium design — 9xl typography, gradient mesh, bento grid,
dark navy sections, glow-pulse CTAs. All content driven by BrandConfig.

Phase 2: SEO + AI engine optimization — EducationalOccupationalCredential JSON-LD,
AI-aware robots.txt, brand-aware llms.txt, PostHog landing analytics, OG/Twitter meta,
scroll-triggered animations.

Phase 3: Move brand configs from hardcoded defaults to database — Prisma Brand model,
seed script, backend CRUD API, frontend DB resolution with 5-min cache + fallback.

Phase 4: Automated domain provisioning — Vercel API integration for adding/removing/
verifying custom domains, admin endpoints, DNS instruction generation.

Also adds type checking to CI pipeline (backend + frontend tsc --noEmit).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Mar 22, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
web Error Error Mar 22, 2026 4:08am

@willwearing
willwearing merged commit c77987a into main Mar 22, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant