BowlerKitBowlerKit

Landing Page & SEO

10/11/2026

Choose and optimize the profile-specific landing page and SEO surface alongside your Flutter app.

What is generated

The landing surface is profile-specific:

  • Guest projects include a standalone landing-page/ Vite/TanStack Start/React app with Tailwind styling and prerendering.
  • Account projects do not include a duplicate standalone app. Their Laravel admin-panel/ already serves the public landing page at /, theme routes such as /productivity and /utility, legal pages, and SEO metadata through Inertia <Head>.

The Flutter app and either landing surface are separate from the mobile bundle. The repository docs site under docs/ is a different application and is not copied into customer archives.

Develop the Guest landing page

Run these commands only when the generated profile is Guest:

cd landing-page
bun install
bun run dev

Use npm install/npm run dev if Bun is unavailable. Available scripts include:

bun run build
bun run preview
bun run typecheck
bun run test
bun run check

Develop the Account landing page

Account projects use the landing page built into admin-panel; do not create or add a second landing-page/ app. Customize the public surface in admin-panel/resources/js/Pages/Home.tsx, the theme content/components, and admin-panel/routes/web.php. The page emits title, description, Open Graph, and theme-color metadata with Inertia <Head>.

cd admin-panel
composer install
npm install
npm run dev

Build the Laravel/Vite assets with npm run build as part of the Account backend deployment.

Build and host

For Guest, the generated Vite config enables TanStack Start prerendering and link crawling:

cd landing-page
bun run build

The runtime/prerendered output is under landing-page/.output/. Choose a TanStack Start-compatible hosting adapter or a static host that supports the generated output and route fallbacks; the Flutter binary does not serve this site.

For Account, deploy the Laravel admin-panel and run its Vite build. The public landing and SEO routes are served by Laravel/Inertia, not by a standalone landing-page/ directory.

SEO checklist

  • Set a unique title, description, canonical URL, and Open Graph image per public route.
  • Publish robots.txt, a sitemap, privacy policy, and terms URLs for the final domain.
  • Keep development/demo API hosts and seeded credentials out of public content.
  • Check headings, landmarks, alt text, keyboard access, responsive layouts, and dark mode.
  • Verify prerendered Guest pages or Account Inertia pages and client-side navigation on the production host.
  • Keep the profile contract: Guest uses landing-page/; Account uses the admin-panel landing and SEO surface.