Skip to content

Add /vibe members back-door page for The Vibe Marketers - #11

Open
ctrlswing wants to merge 3 commits into
advertorials-on-tap-landingfrom
vibe-members-landing
Open

Add /vibe members back-door page for The Vibe Marketers#11
ctrlswing wants to merge 3 commits into
advertorials-on-tap-landingfrom
vibe-members-landing

Conversation

@ctrlswing

Copy link
Copy Markdown
Contributor

What

Adds the /vibe members back-door page — the warm-audience landing for The Vibe Marketers community: free skill vault, "built live" archive, the VIBE47 members' rate, and routing to done-for-you work.

Built from the Claude Design Vibe Members file using the same pipeline as the advertorial page — no new conventions introduced.

Files

  • design-import/Vibe Members.dc.html — design source (pulled via DesignSync)
  • scripts/build-vibe.mjs — generator, mirror of build-advertorial.mjs (node scripts/build-vibe.mjs to regenerate)
  • app/vibe/vibe-content.tsx — generated server-rendered design tree (own <style> + markup)
  • app/vibe/vibe-runtime.tsx — behaviors ported 1:1 from the design's support.js: brandmark scramble, scroll reveal, vault email forms, archive drag/arrow carousel, hover/focus styles
  • app/vibe/page.tsx — route + metadata

Wiring decisions

  • Vault downloadsPOST /api/subscribe tagged ch47-vibe (needs KIT_API_KEY to actually subscribe)
  • Book a call CTAs → direct cal.com/ctrlswing/15min (matches the advertorial)
  • Studio / "Have it built" / footer/advertorial

Notes

  • Additive only — no existing files modified.
  • pnpm typecheck passes; /vibe returns 200 with no error overlay in dev.
  • Base is advertorials-on-tap-landing (not main) since the advertorial work it links to isn't merged yet.
  • Open question: the design reintroduced some copy we'd agreed to cut (section numbering, "New studio. Earning proof in public.", "Pick your path", "New one after every lab.") — left in to stay faithful to the design; can strip on request.

🤖 Generated with Claude Code

Generated from the Claude Design "Vibe Members" file using the same
pipeline as the advertorial page:

- design-import/Vibe Members.dc.html: design source pulled via DesignSync
- scripts/build-vibe.mjs: generator mirroring build-advertorial.mjs
- app/vibe/vibe-content.tsx: server-rendered design tree (generated)
- app/vibe/vibe-runtime.tsx: behaviors ported from the design's support.js
  (brandmark scramble, scroll reveal, vault email forms, archive carousel)
- app/vibe/page.tsx: route + metadata

Vault downloads POST to /api/subscribe tagged ch47-vibe; booking CTAs link
to cal.com; studio CTAs point at /advertorial. No existing files modified.

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

vercel Bot commented Jun 20, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
channel47 Ready Ready Preview, Comment Jun 20, 2026 8:55pm

The "Advertorials on Tap" offer is channel47's single flagship today, so it
now lives at `/` directly instead of `/` redirecting to `/advertorial`. The
old path 308-redirects to `/` (next.config) to preserve inbound links.

- Move app/advertorial/* -> app/_offer/* (private route group; not a URL),
  rename PageRuntime -> AdvertorialRuntime, repoint build-advertorial output
- Point /vibe studio CTAs at `/` instead of the retired /advertorial route
- Drop unused Tailwind/PostCSS deps + postcss.config.mjs — pages are inline
  CSS from design exports, nothing in the app uses Tailwind
- Remove dead components/logo-47.tsx; archive the unused editorial design
  exploration; document the design->build pipeline in design-import/README.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Extract shared transforms into scripts/lib/dc-build.mjs (the module the
  design-import README already documented); build-advertorial.mjs and
  build-vibe.mjs are now thin per-page configs.
- Drop the machine-specific base64 headshot decode from build-advertorial.mjs;
  public/uploads/jackson.jpg is committed, so the build is now reproducible
  on any machine.
- Note /api/request-build is the (currently unwired) DFY intake endpoint.

Regenerating produces byte-identical *-content.tsx; typecheck passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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