Human overview · for understanding

TükörKéplet — Free-Launch change set

Andrea's round-2 review, turned into a hand-off + an autonomous build prompt · 2026-06-26

Andrea's round-2 review, turned into a hand-off + an autonomous build prompt

Master summary — the gist in 30 seconds

TL;DRAndrea changed direction: launch the funnel free now so people can use it while she still checks the Hungarian translations. We turned that into a precise hand-off doc and a single autonomous prompt another AI agent can run end-to-end.

Inputs: Andrea's latest email + the live codebase. Outputs: HANDOFF.md (the worklist), PROMPT_to_execute.md (the autonomous build+deploy+QA prompt), and this overview. Nothing is built yet — this is the plan an agent executes.

Why this mattersThe earlier 'small price tweak' plan is now wrong. Locking the new intent in writing means the build agent can't drift, and you sign off once instead of babysitting it.
flowchart LR
 A[Andrea email:<br/>make it free] --> B[Lock intent<br/>HANDOFF.md]
 B --> C[Autonomous prompt<br/>PROMPT_to_execute.md]
 C --> D[AI agent builds<br/>+ deploys + QA]
 D --> E[Client happy:<br/>free live funnel]

1 · What the client actually wants

TL;DRFree now, pay later. Remove the paid options, keep the full PDF (free), add a WhatsApp consultation booking.

In: her email. Out: four moves — (a) hide paid cards, (b) auto-email the full PDF to everyone, (c) a 'book on WhatsApp' button, (d) keep fixing the Hungarian wording.

Why it mattersHer core fear: 'if they download it, they shouldn't pay for something that isn't good yet.' Free removes that risk and lets the funnel start collecting leads immediately.
mindmap
 root((Free launch))
    Remove paid
      feature flag
    Free PDF
      auto-email all
    WhatsApp
      book consult
    Translations
      glossary fix

2 · How the funnel works today

TL;DRFull PDF is locked behind Stripe. The free part is only a 3-key teaser.

In: birth data → free teaser on /keplet. Out (today): only after paying does the webhook generate + email the real PDF.

Why it mattersThis is exactly why 'make it free' is real work, not a toggle: the PDF engine only runs after payment. We must move that trigger earlier.
flowchart TD
 F[Lead form] --> C[/api/chart<br/>teaser only/]
 C --> K[/keplet<br/>paid cards/]
 K --> S[Stripe pay]
 S --> W[webhook:<br/>generate + email PDF]

3 · The free-PDF move

TL;DRReuse the post-payment chain, but fire it for every lead — for free, in the background.

In: the lead's birth data at /api/chart. Out: the full Hungarian PDF generated and emailed automatically, without payment, without blocking the page.

Why it mattersWe extract the proven generate→email chain into one reusable function and call it from the chart step. Reusing battle-tested code beats writing a new path.
flowchart LR
 C[/api/chart/] --> L[captureLead<br/>welcome email]
 C --> R[generateAndDeliverReport<br/>fire-and-forget]
 R --> P[full PDF emailed<br/>FREE]

4 · Payments off, but reversible

TL;DRA single env flag PAYMENTS_ENABLED=false hides the paid cards and disables checkout.

In: the flag. Out: no Stripe buttons, no broken pay links. Flip it back to true when Andrea approves quality — one line.

Why it mattersThe repo isn't on git, so a clean flag (not 'delete and re-add later') is the safe, instant way to reverse a temporary decision.
flowchart LR
 FL{PAYMENTS_ENABLED} -->|false now| OFF[Free CTA +<br/>WhatsApp booking]
 FL -->|true later| ON[Paid cards +<br/>Stripe]

5 · Fixing the Hungarian wording

TL;DRA correction dictionary, built from your glossary sheet, auto-fixes every PDF at one choke-point.

In: your Google Sheet of English→Hungarian terms (+ tekintély→autoritás). Out: every report's text passed through a find-replace before it's rendered.

Why it mattersOne map, one place (chart-data.js) — no per-report AI cost, no manual proofreading by Andrea. She refines terms; we rebuild the map.
flowchart LR
 SH[Glossary sheet] --> M[hungarian-corrections.js]
 API[BodyGraph text] --> AP[applyCorrections]
 M --> AP
 AP --> PDF[clean PDF]

6 · The autonomous execution model

TL;DROne prompt → an agent reads the hand-off, may spawn sub-agents, edits, deploys live, QAs with Playwright, iterates.

In: PROMPT_to_execute.md. Out: the change set live on tukorkeplet.com, QA'd at 3 screen sizes, with a report + the one line to re-enable payments.

Why it mattersFull autonomy was your call. Guardrails replace the human gate: .bak backups (no git), local verify before deploy, no double-send, clean up test data.
flowchart TD
 PR[PROMPT] --> RD[Read HANDOFF]
 RD --> SUB[Spawn sub-agents:<br/>frontend / middleware / QA]
 SUB --> ED[Edit + backup .bak]
 ED --> DP[Deploy to VPS]
 DP --> QA[Playwright QA x3<br/>fix and retry]
 QA --> DONE[Live + report]
HANDOFF.md (worklist) →PROMPT_to_execute.md (autonomous prompt) →manifest.json →