Web Application
Stack
Framework: Next.js 14 App Router (
app/directory structure).Language: TypeScript.
Styling: Tailwind CSS + custom utilities in
web/src/app/globals.css.UI Primitives:
src/components/ui/(notablybutton.tsx,fade-in.tsx,interactive-tile.tsx). Reuse these to maintain styling and animations.
Key Entry Points
src/app/layout.tsx– Global HTML shell, fonts, metadata.src/app/page.tsx– Landing page composition (Hero, Mission, News, Dashboard Preview, Verification, Roadmap, Call-to-Action, Footer).src/app/api/– Server routes for submissions (submissions/route.ts) and dashboard snapshots (dashboard/route.ts).
Core Components
Hero
src/components/hero.tsx
Mission statement, stats placeholders, invite/contact CTAs.
NavBar
src/components/nav-bar.tsx
Desktop + mobile menus; ensures navigation labels match anchors.
MissionSection
src/components/mission-section.tsx
Describes research pillars and waitlist messaging.
NewsSection
src/components/news-section.tsx
Placeholder cards for future live signals.
DashboardPreview
src/components/dashboard-preview.tsx
Teases features expected in the dashboard experience.
VerificationProcess
src/components/verification-process.tsx
Renders the eight-step diligence pipeline, submission form, and agent assistant.
OptionalKycCard
src/components/optional-kyc-card.tsx
Initiates third-party KYC sessions to unlock the public “doxxed” badge.
RoadmapSection
src/components/roadmap-section.tsx
Timeline of 2025–2026 deliverables.
CallToAction
src/components/call-to-action.tsx
Invite program CTA.
DataSubmissionForm
src/components/data-submission-form.tsx
Handles intake POST to /api/submissions with 24-hour retention messaging.
AgentAssistant
src/components/agent-assistant.tsx
Deterministic FAQ assistant for verification questions.
API Routes
Accepts mission details, email, links, metrics, and notes.
Stores payload in an in-memory store with auto-expiry after 24 hours.
Returns success/error messaging used by the front-end form.
(Internal) Lists pending submissions for monitoring while the app runs.
Provides aggregated metrics, pipeline status, asset snapshots, and recent verification events for the future dashboard UI.
Upserts an asset record and/or records a verification event with validation on stage and status.
POST /api/kyc/initiateCreates a pending Persona session and returns a secure verification link; updates the asset’s KYC status to
pending.
POST /api/kyc/callbackSimulates the Persona webhook to mark sessions
verified,pending, orfailed, updating the dashboard store accordingly.
Development Commands
Run these inside web/:
npm run dev– Launch local dev server athttp://localhost:3000.npm run lint– ESLint + TypeScript checks (must pass before commits).npm run build– Production build (Netlify executes the same command).
Note: Ensure Node/npm are installed and on the PATH. On Windows, a portable Node binary can be added via environment variables if system install is restricted.
Content Parity Checklist
When editing copy or structure in web components:
Mirror the change in Android (
MainActivity.kt) and iOS (ContentView.swift).Update documentation (
README.md, relevant/docsfiles).Confirm navigation anchors still match labels (
Mission,Verification,Assets,Roadmap).If new CTAs are added, reuse the
Buttoncomponent and ensure they target approved channels (mailto / X profile).
Last updated
Was this helpful?