feat: conversion landing page with automated screenshots

This commit is contained in:
Jonas Miederer 2026-09-12 09:18:59 +02:00
parent 85c5a8381c
commit 82f7ff8b02
8 changed files with 362 additions and 35 deletions

View file

@ -114,6 +114,19 @@ localStorage manager + toggle + inline `ColorSchemeScript` equivalent.
RJSF swap was import-only; SSR smoke test proved all 10 intake labels +
textarea/password/checkbox/slider widgets render. `npm run build` green.
## 0.4 Landing page (conversion structure + screenshot automation)
StartPage rebuilt along the 8-block anatomy (hero with outcome headline,
fact bar, 3 benefits, real product screenshot, 3 steps, trust list, FAQ,
final CTA, footer mini) — one CTA everywhere (`/access`), honest copy
(no fake testimonials/logos/numbers; pricing section omitted, model open).
Centralized hosting in Germany per operator decision (not self-hosted).
`frontend/scripts/capture.mjs` + `npm run screenshots` (Playwright/Chromium
in the frontend container) regenerates `public/screenshots/*.png`; the
workflows shot auto-selects `intake_form` to show the generated RJSF form.
Vite dev `server.watch` polling enabled (Windows bind-mount events often
never reach the Linux watcher → stale modules otherwise).
## 1. Locked decisions (do not re-ask)
* Auth: SMTP magic-link, 15-min single-use tokens (`secrets.token_urlsafe`,