Landing Page & SEO
Choose and optimize the profile-specific landing page and SEO surface.
What is generated
The landing surface is profile-specific:
- Guest projects include a standalone
landing-page/TanStack Start/React app with Vite, Tailwind CSS, 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/productivityand/utility, legal pages, and SEO metadata through Inertia<Head>.
The Expo app and either landing surface are separate from the mobile bundle. The repository's own docs site is a different app under docs/ 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 devIf Bun is unavailable, use npm install and npm run dev. The scripts are defined in landing-page/package.json.
Common scripts:
bun run build
bun run preview
bun run typecheck
bun run test
bun run checkDevelop 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 devBuild the Laravel/Vite assets with npm run build as part of the Account backend deployment.
Build and publish
For Guest, the generated Vite config enables TanStack Start prerendering and link crawling. Build from landing-page/:
cd landing-page
bun run buildThe output is under landing-page/.output/. Use the platform's TanStack Start deployment target or serve the generated output according to the adapter you choose; do not assume the Expo mobile bundle serves the landing page.
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.
Customize and publish
For Guest, edit landing-page/src/ (routes, components, styles, and assets). For Account, edit the corresponding admin-panel/resources/js/ theme/page files and routes/web.php. In either profile, update metadata, canonical URLs, Open Graph images, robots rules, sitemap behavior, privacy policy, and terms URLs for your domain.
For static hosting, confirm that your provider supports the generated prerendered output and client-side route fallbacks. Cloudflare Pages, Netlify, or a self-hosted server can work, but the exact build/output settings are provider-specific.
SEO checklist
- One descriptive
<title>and meta description per public route. - Canonical URLs on public pages.
- Open Graph/Twitter image and description.
- Accessible headings, landmarks, and alt text.
robots.txtand sitemap for the production domain.- No development/demo API URLs or seeded credentials in public content.
- Keep the profile contract: Guest uses
landing-page/; Account uses theadmin-panellanding and SEO surface.
