diff --git a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
index bc52054..2a57ad9 100644
--- a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
+++ b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
@@ -18,7 +18,7 @@ import {
// Entrepreneur path — 4 steps. Each step is a focused question.
const ENTREP_TOTAL = 4;
-const ENTREP_STEP_NAMES = ["Idea", "Audience", "Goal", "Look"];
+const ENTREP_STEP_NAMES = ["Idea", "Type", "Goal", "Look"];
const IDEA_PROMPTS = [
"A community for indie game devs to swap playtesters, with weekly demo nights",
@@ -110,36 +110,63 @@ export function EntrepIdea({ value, onChange }) {
);
}
-const AUDIENCE_PRESETS = [
- "Me and people like me",
- "A small community I'm part of",
- "Local people in my city",
- "Anyone searching for this",
- "Other small businesses",
- "Hobbyists in a niche I love",
+const ARCHETYPES = [
+ {
+ id: "saas",
+ icon: "💻",
+ label: "Web App / SaaS",
+ desc: "Dashboards, tools, interactive portals",
+ },
+ {
+ id: "marketplace",
+ icon: "🤝",
+ label: "Marketplace",
+ desc: "Directories, bookings, listings",
+ },
+ {
+ id: "marketing",
+ icon: "✨",
+ label: "Marketing Site",
+ desc: "Portfolios, lead capture, landing pages",
+ },
+ {
+ id: "ecommerce",
+ icon: "🛒",
+ label: "Online Store",
+ desc: "Carts, checkouts, selling physical/digital goods",
+ },
+ {
+ id: "mobile",
+ icon: "📱",
+ label: "Mobile App",
+ desc: "iOS and Android mobile applications",
+ },
+ {
+ id: "blog",
+ icon: "✍️",
+ label: "Blog / Publication",
+ desc: "Newsletters, articles, content hubs",
+ },
];
-function EntrepAudience({ value, onChange }) {
- const isPreset = AUDIENCE_PRESETS.includes(value);
+function EntrepType({ value, onChange }) {
return (
<>
- onChange(arr[arr.length - 1] || "")}
+ ({
+ id: a.id,
+ label: a.label,
+ desc: a.desc,
+ icon: {a.icon},
+ }))}
+ value={value}
+ onChange={onChange}
+ columns={2}
/>
-
- onChange(e.target.value)}
- />
-
>
);
}
@@ -351,12 +378,12 @@ export function EntrepreneurPath({
canNext = (data.idea || "").trim().length >= 8;
} else if (step === 1) {
body = (
- onUpdate({ audience: v })}
+ onUpdate({ productType: v })}
/>
);
- canNext = (data.audience || "").trim().length >= 3;
+ canNext = !!data.productType;
} else if (step === 2) {
body = (
onUpdate({ goal: v })} />