// Who it's for — three audience cards, each with a Reddit-style customer quote // and Vibn's answer. const AUDIENCE = [ { label: "Small business owners", icon: "shop", headline: "Stop renting. Build the tool that actually fits.", quote: "I'm paying $312/month for software that does 60% of what I need and zero of the rest.", source: "u/coffeeshop_owner · r/smallbusiness", answer: "Replace the whole stack with one tool that matches your workflow — bookings, customers, invoicing, all in one place. Owned by you.", }, { label: "Freelancers & local builders", icon: "spark", headline: "Become the craftsman who builds for businesses in your town.", quote: "My client wants a quote tool. I can mock the frontend in a day. The backend? Two weeks I don't have.", source: "u/agency_of_one · r/freelance", answer: "Deliver the whole thing — login, data, hosting, polish — in the same chat where you built the screens. Bill for the system, not the hours.", }, { label: "Quiet entrepreneurs", icon: "spark2", headline: "Build a business without ever picking up the phone.", quote: "I want to build my thing, ship my thing, and find my customers — without doing sales calls or talking to a developer.", source: "u/asynchronous_human · r/indiehackers", answer: "No deploys. No GitHub. No cold outreach. The thing you described is online, with logins, marketing on autopilot — ready for the right people to find it.", }, ]; function Audience() { return (
Who Vibn is for

People who have an idea — not a stack.

Three people who feel the same thing — different ways to fix it.

{AUDIENCE.map((a) => (
{a.label}

{a.headline}

"{a.quote}"
— {a.source}
Vibn {a.answer}
))}
); } function AudienceIcon({ name }) { const p = { width: 20, height: 20, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }; if (name === "shop") return ( ); if (name === "spark") return ( ); if (name === "spark2") return ( ); return null; } Object.assign(window, { Audience });