Apps
Landing site
The Next.js marketing site in apps/landing.
The landing site is a small Next.js app that serves the public marketing pages at the apex domain. It is separate from the web app (the planner) and from this docs site.
Structure
apps/landing/
├── app/
│ ├── page.tsx # Home page
│ ├── developers/ # Developer-facing pitch page
│ ├── privacy/ # Privacy policy
│ ├── opengraph-image.tsx# OG image generation
│ ├── robots.ts # robots.txt
│ └── sitemap.ts # sitemap.xml
├── lib/
│ ├── i18n.ts # Locale-from-host resolution
│ └── content/ # Localized copy
├── proxy.ts # www → apex redirect + locale header
└── Dockerfile # Next.js standalone imageLocalization
The landing site resolves its locale from the requesting hostname (ccTLD split, see ADR 0017-cctld-locale-split): routess.com serves English and routess.be serves Dutch. There is no client-side language switcher; the domain decides.
Runtime
Built as a Next.js standalone image (ghcr.io/robbeverhelst/routess-landing) and deployed through the same Helm chart as the other apps.
Scripts
bun run dev # Next dev server (defaults to port 3002)
bun run build # Production build
bun run test # Unit tests for lib/
bun run check-types # tsc --noEmit