💼 Property Dossier ▸ OVERNIGHT-READOUT.md
updated 2026-07-23

Stream C — Property Investment Dossier — STATUS

Final pass complete 2026-07-15 ~00:20. Launch-ready. Nothing deployed, sent, posted, or purchased. No accounts created.

What was built

A complete sell-and-deliver kit for a €299 / 48-hour AI-assisted, human-verified property investment dossier for expat buyers in Berlin & Paris (bundle: 3 for €749; on-site add-on €499/€899):

Council scores (R1 → R2)

R1 per-persona scores were not persisted to this stream (orchestrator context); all R1 must-fixes were applied before round 2. Round-2 average: 7.9/10.

Persona R2 score R2 must-fixes Status after final pass
BRANSON 8.0 Bundle buyers can only submit 1 listing; capacity promise contradicts self-serve flow; guarantee says 3 different things Q4 → long-text multi-link + thank-you bundle line + Stage 2 listing-count check; capacity toggle documented (Tally thank-you edit) + FAQ/price-note softened to match reality; one guarantee sentence now verbatim in index.html, impressum.html#agb, and the delivery email
MACKENZIE 7.5 Google Fonts = IP transfer contradicting the Datenschutz; UG register fields missing from Impressum; no Muster-Widerrufsformular, no durable-medium confirmation Fonts self-hosted (all 3 pages, zero external requests — no Datenschutz copy change needed); Registergericht Charlottenburg / HRB [NUMBER] / Geschäftsführer conditional block added + HRB/[IF in the pre-deploy grep; model withdrawal form appended to #agb; order-confirmation/kickoff email template added for EVERY paying client and wired into Stage 2 step 1
VEGA 8.0 Money CTA can ship dead (href="#"); ?source= in only 2 of 7 drafts; Guthmann/Leeds emails not actually drafted; no capacity gate Anchor now href="REPLACE_WITH_TALLY_URL" — one find-replace fixes link + tracking, and the grep gate catches href="#" data-intake-link; every draft link now carries its slug inline (toytown/reddit-* / fb / de / fr / partner-[firm]); Drafts 5a + 5b written send-ready; capacity toggle in Tally spec + DELIVERY-PIPELINE Stage 2 step 3
SHADE 8.0 Same dead-CTA risk; impressum.html declares Outfit but never loads it; sample has no CTA at the end; no-sample fallback under-specified CTA fixed (see VEGA); impressum.html got the self-hosted @font-face (better than the requested Google import); dark closing CTA band added after page 9 (screen-only, print-hidden, picked up by the source-forwarding script — verified: index.html?source=test#order); README Action 1 now has the exact 5-item no-sample edit list incl. a pre-written trust-bullet variant and outreach line

All R2 must-fixes: applied tonight (none skipped)

  1. One-step money CTA — placeholder moved into the href; forwarding script keeps data-intake-link as its selector; pre-deploy grep extended (href="#" data-intake-link, fonts.googleapis, [NUMBER, [IF). Verified by rendering with ?source=test.
  2. Fonts self-hosted — 4 variable woff2 files downloaded to fonts/; @import deleted from index.html + sample-dossier.html; @font-face added to all three pages. Verified: zero googleapis/gstatic references; headless render shows real Outfit.
  3. Guarantee unified — one sentence verbatim in the price card, impressum.html#agb, the delivery email, and (bonus) the kickoff email: “If your dossier doesn’t surface at least one material fact you didn’t know — a comp, a risk, a cost, a negotiation lever — tell us within 7 days and we refund you in full.”
  4. Bundle purchase path — Q4 is long-text (“paste all 2-3 listing links, one per line”), thank-you page tells bundle buyers to reply with missing links, kickoff email has a bundle paragraph, Stage 2 checks listing count vs. product paid.
  5. Capacity honesty — FAQ + price note now say “we tell you before work starts — next window or instant full refund”; documented 2-minute Tally thank-you toggle (exact copy provided) in the intake spec and Stage 2 step 3.
  6. Widerruf compliance — Muster-Widerrufsformular in #agb; kickoff email restates the express-request sentence + links the terms on a durable medium (§ 312f BGB / Art. 8(7) CRD).
  7. Impressum UG fields — Registergericht Amtsgericht Charlottenburg · HRB [NUMBER] · Geschäftsführer conditional, delete-if-personal, gated by the grep.
  8. Outreach tracking + Day-1 emails?source= slug baked into every draft; Guthmann opener leads with “Your Ortsteil market reports are literally cited in our dossiers”; Leeds opener leads with the anglophone-Paris angle and the 7th-arr. sample.
  9. Sample closing CTA — dark stone band, rainbow top border, “€299, 48 hours” button to index.html#order; forwarding script upgraded to place the query before the #fragment (was a latent bug: would have produced index.html#order?source=…).

Unresolved (needs Joshua — cannot be done by an agent tonight)

Month-one revenue math

MORNING ACTIONS (final list — full details + copy in README.md)

  1. Action 0 — Entity & VAT decision; fill Impressum brackets + resolve the two [IF …] blocks + pick the VAT sentence in the price card (15 min)
  2. Action 1 — Message the Paris client (consent + testimonial) — HARD GATE for the sample (5 min; fallbacks pre-written)
  3. Action 2 — Create the Tally intake form from the spec in index.html (Q4 = long text!), incl. conditional thank-you pages; find-replace REPLACE_WITH_TALLY_URL (one step); test ?source=test (20 min)
  4. Action 3 — Stripe products + Payment Links (€299 / €749), paste into Tally thank-you pages and the OUTREACH payment email (10 min)
  5. Action 4 — Cal.com 15-min “Dossier walkthrough” link → delivery email template (5 min, optional today)
  6. Action 5 — Run the pre-deploy grep (must return nothing), deploy the 5 files + fonts/ to .deploy/property-dossier/ from a normal session, fill [SAMPLE-LINK]/[SITE-LINK] in OUTREACH.md, check OG preview + no fonts.googleapis.com in DevTools (10 min)
  7. Action 6 — Day-1 outreach: LinkedIn (1b) → X (1c) → partnership emails (5a Guthmann + 5b Leeds send-ready, + 1-3 from Draft 5) → request FB group memberships → Toytown (30 min)
  8. Standing — at 2 dossiers in flight, flip the Tally capacity toggle (2 min; copy in the index.html intake-spec comment)