diff --git a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
index cb530af4..7ddab69e 100644
--- a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
+++ b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
@@ -8,8 +8,8 @@ import {
PresetGroup,
} from "./onboarding-primitives";
-const ENTREP_TOTAL = 3;
-const ENTREP_STEP_NAMES = ["Idea", "Status", "Look"];
+const ENTREP_TOTAL = 4;
+const ENTREP_STEP_NAMES = ["Type", "Idea", "Status", "Look"];
const IDEA_PROMPTS = [
"A community for indie game devs to swap playtesters, with weekly demo nights",
@@ -101,6 +101,68 @@ export function EntrepIdea({ value, onChange }) {
);
}
+const ARCHETYPES = [
+ {
+ id: "saas",
+ label: "Web App / SaaS",
+ desc: "Dashboards, tools, interactive portals",
+ },
+ {
+ id: "marketplace",
+ label: "Marketplace",
+ desc: "Directories, bookings, listings",
+ },
+ {
+ id: "marketing",
+ label: "Marketing Site",
+ desc: "Portfolios, lead capture, landing pages",
+ },
+ {
+ id: "ecommerce",
+ label: "Online Store",
+ desc: "Carts, checkouts, selling physical/digital goods",
+ },
+ {
+ id: "mobile",
+ label: "Mobile App",
+ desc: "iOS and Android mobile applications",
+ },
+ {
+ id: "blog",
+ label: "Blog / Publication",
+ desc: "Newsletters, articles, content hubs",
+ },
+ {
+ id: "not_sure",
+ label: "I'm not sure",
+ desc: "Let Vibn help you decide based on your description",
+ fullWidth: true,
+ },
+];
+
+function EntrepType({ value, onChange }) {
+ return (
+ <>
+
+ ({
+ id: a.id,
+ label: a.label,
+ desc: a.desc,
+ icon: undefined,
+ fullWidth: a.fullWidth,
+ }))}
+ value={value}
+ onChange={onChange}
+ columns={2}
+ />
+ >
+ );
+}
+
const STATUS_OPTIONS = [
{
id: "scratch",
@@ -279,6 +341,14 @@ export function EntrepreneurPath({
canNext,
onSkip = null;
if (step === 0) {
+ body = (
+ onUpdate({ productType: v })}
+ />
+ );
+ canNext = !!data.productType;
+ } else if (step === 1) {
body = (
);
canNext = (data.idea || "").trim().length >= 8;
- } else if (step === 1) {
+ } else if (step === 2) {
body = (
-
+
{body}