Frontend
The product frontend lives in hivecfm-core/apps/web/. It is a Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. 14 App Router application written in TypeScriptTypeScriptJavaScript with a static type system. Every HiveCFM Node service, the frontend, and the dev hub are written in it. and rendered with ReactReactThe component-based UI library every HiveCFM frontend is written in. Components are TypeScript functions returning JSX. Server Components by default. Everything a logged-in user interacts with — surveys, campaigns, analytics, settings — is served from here.
This section documents the product frontend. The documentation site you are reading is a separate Nextra app in hivecfm-dev-hub/ — it is not discussed here.
Mental model for a .NET dev
| Concept | HiveCFM equivalent |
|---|---|
| ASP.NET Core MVC view | Server Component (page.tsx) |
_Layout.cshtml | layout.tsx, nested per route |
| Razor partial | Client Component ("use client") |
| Controller action | Route handler (route.ts) or Server Action |
| Tag helper | JSX, Tailwind utility class |
The biggest conceptual shift: server and client code live in the same folder and the same file tree. A server component does the data read; a client component renders interactive UI. The framework decides what runs where based on the "use client" directive.
Entry points
hivecfm-core/apps/web/app/layout.tsx— the root layout (HTML shell, providers).hivecfm-core/apps/web/app/page.tsx— the root page. Redirects to an environment or the login flow.hivecfm-core/apps/web/app/(app)/— route group for the logged-in app (environments, surveys, campaigns).hivecfm-core/apps/web/app/(auth)/— route group for login, signup, SAML callbacks.hivecfm-core/apps/web/app/api/— REST API route handlers (see Backend / API routes).hivecfm-core/apps/web/middleware.ts— edge middleware for auth gating and locale detection.
The stack in one paragraph
Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. renders server components on the Node.js runtime and streams HTML to the browser. Client components hydrate with ReactReactThe component-based UI library every HiveCFM frontend is written in. Components are TypeScript functions returning JSX. on the client. Tailwind CSS drives styling; Radix (a headless-primitive library) drives interactive UI. State that survives navigation lives in Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. searchParams or server components; transient UI state uses React hooks. Data writes go through Server Actions (see State and data) or route handlers under app/api/.
Read next
- App Router — how routing, layouts, and server vs client components fit together.
- State and data — how pages read and write data through the stack.
- Architecture / Data Flow — the end-to-end request path from browser to Postgres.