diff --git a/marketing-site/.gitignore b/marketing-site/.gitignore new file mode 100644 index 0000000..94b299e --- /dev/null +++ b/marketing-site/.gitignore @@ -0,0 +1,35 @@ +# dependencies +/node_modules + +# next.js build output +/.next/ +/out/ +/build + +# misc +.DS_Store +*.pem + +# debug logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# Next.js auto-generated agent rule files (agentRules) +AGENTS.md +CLAUDE.md + +# scratch / superseded single-file previews +preview.html +redesign-preview.html +node_modules/ diff --git a/marketing-site/README.md b/marketing-site/README.md new file mode 100644 index 0000000..c62f499 --- /dev/null +++ b/marketing-site/README.md @@ -0,0 +1,35 @@ +# AIBook.fun Marketing Site + +Scaffolded for Framer import and Next.js (Cloudflare Pages / DigitalOcean). + +## Stack +- React 18 + JSX +- Tailwind CSS (v4 with @import) +- shadcn/ui-ready component structure +- SendGrid (email) + Twilio (optional SMS) +- Hosting: Cloudflare Pages / DigitalOcean + +## Framer Compatibility +These components are standard React + Tailwind. To use in Framer: +1. Copy any `.jsx` component file. +2. In Framer, add a new Code Component and paste the file contents. +3. Ensure your Framer project has Tailwind CSS configured in settings if classes don't render. +4. Import `globals.css` or copy Tailwind directives into Framer's CSS settings. + +Note: Framer Sites don't run Next.js natively. For a live site with routing (A/B tests, CMS integrations, analytics events), deploy via Next.js on Cloudflare Pages. + +## Pages scaffolded +- `pages/index.jsx` — landing (hero, the book, workflows, tiers, FAQ) +- `components/Header.jsx` +- `components/Hero.jsx` +- `components/Workflows.jsx` +- `components/Tiers.jsx` +- `components/FAQ.jsx` +- `components/Footer.jsx` + +## Key design references (from PRD / Spec) +- Utility-first pitch: "run a workflow today" (A/B test hook ready) +- 6 verticals listed in Workflows +- 3 sample tiers shown ($10 / $47yr / $4,888) +- No NFT/crypto/Web3 language (Kickstarter compliance scrubbed) +- Event tracking only (not content) — PostHog/Cloudflare Analytics slot available diff --git a/marketing-site/components/Authors.jsx b/marketing-site/components/Authors.jsx new file mode 100644 index 0000000..c302c08 --- /dev/null +++ b/marketing-site/components/Authors.jsx @@ -0,0 +1,41 @@ +const AUTHORS = [ + { tile: "RE", name: "Real Estate & Finance", role: "Market briefs, compliant summaries", status: "confirmed", label: "Co-author confirmed" }, + { tile: "CS", name: "Fractional C-Suite", role: "Strategy & board workflows", status: "confirmed", label: "Co-author confirmed" }, + { tile: "TE", name: "Technology & RAAI", role: "Agent patterns & safe defaults", status: "confirmed", label: "Co-author confirmed" }, + { tile: "HE", name: "Higher Education", role: "Teaching & research integrity", status: "tba", label: "To be announced" }, + { tile: "CO", name: "Communities", role: "Moderation & member programs", status: "tba", label: "To be announced" }, +]; + +export default function Authors() { + return ( +
+
+ Who’s writing this +

Practitioners, one per vertical.

+

+ Each chapter is owned by someone who does the work — not a generalist writing about + it. Names are announced as co-authors confirm. +

+
+ {AUTHORS.map((a) => ( +
+
{a.tile}
+

{a.name}

+
{a.role}
+
+ + {a.label} +
+
+ ))} +
+
+
Your name?
+

Contribute a workflow after launch and earn a byline in the guide.

+
+
+
+
+
+ ); +} diff --git a/marketing-site/components/Book3D.jsx b/marketing-site/components/Book3D.jsx new file mode 100644 index 0000000..21fcb66 --- /dev/null +++ b/marketing-site/components/Book3D.jsx @@ -0,0 +1,35 @@ +/** + * Pure-CSS 3D book styled as the field guide. Decorative, so aria-hidden. + * Faces (cover / spine / fore-edge / top / back) are assembled with + * transform-style: preserve-3d; see `.book3d` in globals.css. + */ +export default function Book3D() { + return ( +