oll.am · oll.in Night-Shift Brief · overnight 2026-07-08 → 09

oll.in — night-shift brief

The mission for the night was one thing: make oll.in sell. The product was already built — so the work wasn't more features, it was sharpening everything that converts a stranger into a payer, grounded in fresh research. Here's what moved, what's ready to earn a franc, and the short list of things only you can do. Nothing was deployed, merged, or posted — those are yours.
Built: GTM brief · landing · 3 guides · deploy runbook · distribution drafts Ready: the CHF 9 dossier money path (backends live, sell surface solid) Blocker: the deploy — only you

What moved overnight all documented on main, all verified by running

1 · Research → the GTM "How It Sells" brief — three fresh streams (competitors · customers/distribution · Swiss SEO). The reframe: oll.in is not the first Swiss toolApplyCH (CHF 9.99/mo, no grounding, no photo) and Profile Bakery (photo + blank template) already exist. But the market has turned against fabrication and nobody claims "grounded/cited/never invented" — that, plus pay-once and the photo bundle, is the wedge. Beachhead = English-speaking expats. → the GTM brief

2 · The expat-first landing — a dedicated marketing / (funnel cleanly moved to /app), all eight research-backed moves: "Your CV is fine, it's just not Swiss" hero · a working grounded-receipt reveal · the "we will NOT invent" pledge · free-preview-before-pay · a 4-way comparison table · a Swiss-format proof block · anti-auto-apply stance · pay-once badge, price on screen one · plus an FAQ/objection-handling section (server-rendered FAQPage schema) answering the five real buyer objections. EN+DE, tsc/build clean, Playwright-verified.

3 · Seven SEO content pillars — a /guides hub + swiss-cv-format · rav-applications · bewerbungsfoto · motivationsschreiben · bewerbung-mit-ki · ats-schweiz · swiss-cv-for-expats, each server-rendering FAQPage + HowTo + BreadcrumbList JSON-LD (what AI-search engines quote), EN+DE, honest fact-softening. The organic-acquisition layer.

4 · The one-step deploy runbook — grounded in a live health probe: the exact ordered sequence to take v1 live. → the runbook

5 · Distribution drafts — staged, value-first, honest posts for the first-100 plan (englishforum checklist · Reddit answers + show-post · a 5-post LinkedIn series · 3 reel scripts · a career-center email), for you to approve and post. → the drafts

6 · Adversarial review of the whole sell surface — ran it all in EN+DE; landing/funnel/guides/radar all solid; fixed two dishonest claims (money-back → free-preview; a false "guest checkout" label on the CHF 9 path → honest passwordless sign-in). Money path verified pay-once + server-gated + honest degradation. Zero missing i18n keys (365/365 parity).

What's ready to earn a franc the honest state of the money path

✅ The CHF 9 dossier — deploy-ready
  • Backends it needs are LIVE (probed): Core (auth/billing/email), oll-write (verbs), oll-memory (grounding) all return health 200 over HTTPS. oll-model is at model.oll.am.
  • The sell surface (landing → funnel → pay) is built, honest, and verified in EN+DE.
  • Money path is correct: pay-once (payment mode), download server-gated (401/402/200), Verify≠Authorize respected.
⛔ The CHF 29 photo — not yet
  • The /photo funnel is polished + honest, but step 1 uploads to foto POST /api/foto/upload which doesn't exist in the running foto service — that endpoint is PR #92 (built tonight, unmerged).
  • Needs PR #92 (upload) + #84 (Core guest-checkout) merged + foto deployed. The web layer surfaces the real error meanwhile — no fake success.
The CHF 9 dossier is one deploy away from a stranger paying. The backends are already live. The blocker is the frontend going up + the Stripe webhook — not missing product.

What needs you the tight decision + action list

  1. Deploy v1 — the real unlock. First give oll.in a git remote (it has none), then publish the Next.js app — Coolify on the VPS (like the other services) is the recommended target over Vercel. Follow the runbook literally.
  2. The Stripe money path — confirm/set the LIVE CHF 9 one-time price + the core.oll.am/api/billing/webhook + STRIPE_WEBHOOK_SECRET (the long-standing blocker). Then the smoke test: login → compose → pay (test→live) → download.
  3. Merge the backend PRs (per-PR go + green CI): #92 foto upload · #84 Core guest-checkout · #85 foto front door · #93 Radar. #92+#84 unblock the CHF 29 photo.
  4. Pricing calls — add dossier multi-packs (5/10)? exact prices? And fix-or-defer the CHF 19/mo Radar (too high vs ApplyCH's CHF 9.99/mo). I didn't guess these — money path.
  5. SEO architecture — proper multilingual SEO needs per-locale URLs (/de/ /en/); oll.in is cookie-based today (hreflang correctly omitted, not faked). And .in gives no CH geo-signal — use a .ch or set GSC geo-targeting. Both deploy-time.
  6. Landing copy confirms — the grounded-receipt is labelled an example (the live one is the funnel); happy to keep it, or wire a live mini-compose later.
Everything except these is done + on main. The whole night's output is honest by construction — every blocked hop shows the real error, no fabricated stats or testimonials, no "Swiss-hosted" claim, no auto-apply. The frontend work is local on feat/v2-guest-photo in the oll.in repo (no remote yet); the backend work is in green PRs awaiting your merge-gate.