// vibn — Marketing Website // Design: Ink & parchment — Lora serif + Inter sans, no colour accent // Usage: import { useState } from "react"; const T = { ink: "#1a1510", ink2: "#2c2c2a", ink3: "#444441", mid: "#5f5e5a", muted: "#888780", stone: "#b4b2a9", parch: "#d3d1c7", cream: "#f1efe8", paper: "#f7f4ee", white: "#fdfcfa", border: "#e8e2d9", }; const F = { serif: "'Lora', Georgia, serif", sans: "'Inter', sans-serif" }; // ─── Primitives ──────────────────────────────────────────────────────────────── function Eyebrow({ children }) { return (
{children}
); } function PrimaryBtn({ children, onClick, large }) { return ( ); } // ─── Nav ─────────────────────────────────────────────────────────────────────── function Nav({ onGetStarted, onLogin }) { return ( ); } // ─── Hero ────────────────────────────────────────────────────────────────────── function Hero({ onCta }) { return (
For non-technical founders

You have the idea.
We handle
everything else.

No backend. No DevOps. No marketing agency. Describe your idea and vibn builds, deploys, and promotes it — automatically.

Start free — no code needed ★★★★★  280 founders launched

No credit card required · Free forever plan

); } // ─── Quote band ──────────────────────────────────────────────────────────────── const QUOTES = [ { q: "I had the idea for 2 years. The backend terrified me. vibn shipped it in 4 days and handles all my marketing.", by: "Alex K.", role: "Founder, Taskly" }, { q: "I have zero coding experience. Three weeks in I have 300 paying users. That's entirely because of vibn.", by: "Marcus L.", role: "Founder, Flowmatic" }, { q: "The marketing autopilot alone saved me ten hours a week. My blog runs itself. I just focus on my product.", by: "Sara R.", role: "Founder, Nudge" }, ]; function QuoteBand() { return (
{QUOTES.map((q, i) => (

"{q.q}"

— {q.by}, {q.role}
))}
); } // ─── How it works ────────────────────────────────────────────────────────────── const PHASES = [ { n: "01", id: "Discover", title: "Define your idea", body: "Six guided questions turn a rough idea into a full product plan — pages, architecture, revenue model. No jargon." }, { n: "02", id: "Design", title: "Choose your style", body: "Pick a visual style and see your exact site and emails live before a single line of code is written." }, { n: "03", id: "Build", title: "Your app, live", body: "AI writes every line. Auth, database, payments, all pages — deployed and live. Describe changes in plain English." }, { n: "04", id: "Grow", title: "Market & automate", body: "AI generates your blog, emails, and social schedule — publishing on autopilot so you can focus on your users." }, ]; function HowItWorks() { return (
How it works

Four phases.
One complete product.

{PHASES.map((p, i) => (
{p.n} — {p.id}
{p.title}

{p.body}

))}
); } // ─── Stats bar ───────────────────────────────────────────────────────────────── const STATS = [ { n: "280+", label: "founders launched" }, { n: "72h", label: "average time to first version" }, { n: "4.9★", label: "average rating" }, { n: "3×", label: "faster than hiring a developer" }, ]; function StatsBar() { return (
{STATS.map((s, i) => (
0 ? 36 : 0, borderRight: i < 3 ? `1px solid ${T.border}` : "none" }}>
{s.n}
{s.label}
))}
); } // ─── Empathy section ─────────────────────────────────────────────────────────── const PAINS = [ { title: "No more \"I need to hire a developer first\"", body: "vibn is your developer. Start building the moment you have an idea." }, { title: "No more staring at a blank marketing calendar", body: "AI generates and publishes your content every single week." }, { title: "No more \"I'll launch when it's ready\"", body: "Most founders ship their first version in under 72 hours." }, ]; function EmpathySection() { return (
Sound familiar?

The idea is the hard part. Everything else shouldn't be.

You know exactly what you want to build and who it's for. But the moment you think about servers, databases, deployment pipelines, SEO strategies — the whole thing stalls.

vibn exists to remove all of that. Not abstract it —{" "} remove it entirely.

{PAINS.map((p, i) => (
{p.title}
{p.body}
))}
); } // ─── Final CTA ───────────────────────────────────────────────────────────────── function FinalCta({ onCta }) { return (

Your idea deserves to exist.

Don't let the backend be the reason it doesn't. Start today — free, no code, no credit card.

Build my product — free
Joins 280+ non-technical founders already live
); } // ─── Footer ──────────────────────────────────────────────────────────────────── function Footer() { return ( ); } // ─── Root export ─────────────────────────────────────────────────────────────── export default function Website({ onGetStarted = () => {}, onLogin = () => {} }) { return (
); }