Marketing Site

FeaturePublic experienceContent-driven sections

The public marketing experience lives under src/app/[locale]/(home).

This area is designed so product teams can change landing content, branding, and messaging without digging into deeper backend or application logic.

Where this connects

If you want to customize the visible landing experience first, this feature works closely with First Customization and Customize Branding.

What this feature includes

Route composition

The public site is assembled inside localized route files using components from the marketing features folder.

Content-driven sections

Most visible content comes from JSON files in content/landing/, loaded through src/content/loaders.ts.

Localized copy

The marketing experience shares the same locale-first routing and message system as the rest of the app.

Main files and folders

  • src/app/[locale]/(home)/page.tsx: Entry route for the landing experience.
  • src/features/marketing/marketing-layout.tsx: Marketing layout wrapper.
  • src/features/marketing/marketing-page.tsx: Marketing page composition.
  • src/features/marketing/navbar.tsx: Marketing navbar.
  • src/features/marketing/footer-section.tsx: Footer section.
  • src/features/marketing/sections.tsx: Landing page sections.
  • content/landing/*.json: Marketing content data.
  • src/content/loaders.ts: Content loader for landing JSON files.
  • src/config/site.ts: Brand-level metadata and shared product identity.
  • messages/*.json: Localized marketing labels and copy.
How it works

Architecture

The landing page is built from section components in src/features/marketing/ and content-driven data.

This means:

  • structure is composed using components from src/features/marketing/
  • content comes from content/landing/*.json loaded via src/content/loaders.ts
  • translated copy comes from messages/
  • brand assets come from public/ and src/config/site.ts

This gives the project a clean separation between structure, content, and brand assets.

Current sections

The home experience includes sections such as:

  • navbar
  • hero
  • social proof
  • documentation section
  • testimonials
  • pricing
  • FAQ
  • CTA
  • footer

These sections can evolve independently while still following the same component and content conventions.

Why this design works

This structure keeps marketing customizable without forcing users to edit business logic or global application code.

It also makes onboarding easier because the most visible product changes can happen through content files, assets, and messages first.

Marketing components in src/features/marketing/

All marketing-specific components live in src/features/marketing/. This includes layout wrappers, page composition, navigation, sections, and footer.

Practical rule

Keep marketing components in src/features/marketing/ and marketing content in content/landing/*.json. Use src/config/site.ts for brand-level settings.