Skip to content

App Structure

Layout hierarchy

  • Root layout (src/app/layout.tsx) wraps every page with theme, language, and chat providers and mounts the global chat wrapper.
  • No additional nested layouts are defined; all routes inherit from the root layout.

Static routes

Path Source file Notes
/ src/app/page.tsx Landing page and storyboard sections.
/branding src/app/branding/page.tsx Brand assets and guidelines.
/explore src/app/explore/page.tsx Exploration landing page.
/logo src/app/logo/page.tsx Logo showcase.
/methodology src/app/methodology/page.tsx Platform methodology overview.
/playground src/app/playground/page.tsx Experimental tools interface.
/search src/app/search/page.tsx Search interface.
/sources src/app/sources/page.tsx Source directory.
/status src/app/status/page.tsx System status page.

Dynamic routes

Path pattern Source file Description
/topic/[slug] src/app/topic/[slug]/page.tsx Topic details.
/person/[slug] src/app/person/[slug]/page.tsx Person profile.
/claim/[id] src/app/claim/[id]/page.tsx Claim information.
/source/[domain] src/app/source/[domain]/page.tsx Source details by domain.

API routes

Path Source file
/api/chat src/app/api/chat/route.ts
/api/claims src/app/api/claims/route.ts
/api/evidence src/app/api/evidence/route.ts
/api/health src/app/api/health/route.ts

Inner page components

Components used by inner pages live under src/components/inner-pages/. See the component inventory for details on each shared piece and its consuming route. Pages import from this directory to keep src/app focused on route files.

Component organization

  • src/components/landing/ – sections and widgets for the marketing landing page.
  • src/components/inner-pages/ – reusable pieces for dynamic routes (claim, topic, person, source, playground).
  • src/components/common/ – shared UI primitives, chatbox, navigation, and theme helpers (common/ui).
  • src/components/backgrounds/ – decorative canvases and animated backgrounds.