The constraint was never code — it's launching and charging. Every research pass this session converges on one honest ceiling: oll.am's wild-but-grounded outcome is a ~$1.5–3M ARR Swiss micro-empire with a defensible moat, not a one-person unicorn ($100M is possible-not-probable — a tail event needing VC and a category-defining product). The single structural risk is commoditization by the frontier labs (Jasper cut its 2023 ARR forecast ~30% and its valuation ~20% once ChatGPT commoditized AI writing — directional, press-reported). So the durable moat is not raw AI features — those get eaten — it's pay-once · memory-grounded, cited output · private by default · workflow lock-in · documentation. And the #1 strategic error to avoid is brand/scope sprawl: consolidate the seven-brand spread to two focused bets — write.oll.am and oll.in, and hold the rest as domains. Build less; freeze what works; sell the finished thing.
Keep the "no subscription" brand promise — via credit packs, not a literal "pay once" on metered tools
This doc used to fight itself: §01 led with "buy once" while §05 recommended "CHF 9/mo recurring." The synthesis, grounded in the unit economics: every LLM call is metered, so a literal "pay once, use forever" on an AI tool bleeds on heavy users — which is exactly why Hemingway split its offline editor ($19.99 one-time) from its AI features (subscription). So:
- Metered AI tools (humaniz, foto): sell credit packs — pay-once-compatible (buy a result, no monthly habit, no bleed on heavy use) — and/or a CHF 9/mo all-access tier. Credit packs honour the "no subscription" promise without the metered downside.
- Reserve the literal "pay once / use forever" claim for genuinely offline / local tools, where there's no per-use cost to recover.
- The brand promise stays intact: "no subscription trap" = credit packs + one-time products; the recurring CHF 9/mo is the optional all-access path (and what builds TrustMRR rank).
00The honest ceiling & the focus thesis
Three independent research reports and two career-feasibility studies land on the same shape. Naming it kills two temptations at once: the fantasy of a one-person unicorn, and the sprawl of chasing every idea. The realistic-but-ambitious target is a Swiss micro-empire, and the way you get there is to say no to five of your seven brands.
| Outcome | Likelihood | What it would take |
|---|---|---|
| ~$1.5–3M ARR micro-empire, defensible moat | Base case — grounded | The moat below + distribution that compounds; solo/tiny team; the two focused bets |
| ~$10–20M ARR | Upside | A breakout product + a small real team + a repeatable growth channel |
| $100M+ one-person unicorn | Tail event — possible, not probable | VC + a category-defining product; explicitly not the plan |
The moat is not AI features — those commoditize to free. Raw model capability is exactly what the frontier labs eat (Jasper cut its 2023 ARR forecast ~30% and its valuation ~20% once ChatGPT commoditized AI writing — directional, press-reported). The five things that don't get eaten, and that oll.am already leans on:
① Pay-once (rides real subscription fatigue) · ② memory-grounded, cited output (CiteBible's "cited-or-nothing" — an answer no generic wrapper ships) · ③ private by default (inputs never train models; the honest claim, not a hosting-location claim) · ④ workflow lock-in (the Swiss job-application dossier, the writing engine's generate⟷refine memory) · ⑤ documentation (this build-log itself is a distribution + trust asset).
Two focused bets, five held domains
The seven-brand spread (ollwrite / ollshot / ollapply / ollready / ollclear / ollin / ollways) is the classic strong-builder failure mode — breadth as procrastination. Consolidate to the two with the clearest path to money, hold the rest as parked domains (zero build cost, optional later):
| Bet | What it is | Why it survives commoditization |
|---|---|---|
| write.oll.am (build) | The writing engine — ollwrite generate⟷refine + CiteBible cited-answer mode. The distribution funnel (open-source, §01). | Memory-grounded / cited + pay-once + private-by-default |
| oll.in (build) | The Swiss job-application flagship — the highest-EV revenue bet (§02). | The bundled Swiss Bewerbungsdossier workflow — no US tool bundles it |
| ollshot · ollapply · ollready · ollclear · ollways | Held as domains — not built | Optional later; parking is free, sprawl is not |
01Market-category signals — the live leaderboard
The last-month indie-SaaS MRR board shows where the money actually moved. Read honestly against the commoditization warning: a big pool is not a moat — a generic wrapper loses in every one of these. Figures are self-reported to the board; treat as directional.
| Category | Last-month MRR growth | Read for oll.am |
|---|---|---|
| Content Creation | +$1.09M (#1) | The biggest pool — but generic wrappers lose. oll.am wins it only by differentiation: pay-once + memory-grounded/cited (CiteBible's cited-or-nothing) + private-by-default. |
| AI (by breadth) | +$624k | The horizontal "AI tool" bucket — the most crowded, least defensible; not a lane to enter head-on. |
| Education | +$413k | Where CiteBible (sermon/study prep) + a future "Vibe Architecting" course sit. |
| Social Media | +$326k | A growth lane — Postiz alone did +$155–162k MRR (+2,090%), the top non-US open-source name. Proof that OSS-as-distribution converts to MRR (§03, §05). |
| Marketing | +$292k | Adjacent to the content play; reachable via the same funnel, not a separate build. |
Net: oll.am's two live bets already sit in the two hottest lanes — Content Creation (write.oll.am / CiteBible) and Distribution (the agent+Postiz megaphone). The job is not to chase a new category; it's to differentiate the content play and let distribution compound.
Open-source the ollwrite engine as the funnel
Postiz proves the pattern: the top non-US OSS name converted a self-hosted tool into real MRR. The research recommends the same for the writing engine — Apache-2.0, free self-host → paid cloud Pro. Set expectations honestly: the base case is a slow-burn 12–24-month compound, not OpenCLAW's once-in-a-cycle 145k-stars-in-60-days breakout (that's a tail event, not a plan). Gated behind the first franc; the mechanism is the constellation, the differentiation is the moat above.
02oll.in — the flagship revenue bet (highest EV)
Both career studies agree: oll.in has the clearest willingness-to-pay of anything in the portfolio. Swiss buyers already pay CHF 49–200 for a Bewerbungsfoto and CHF 120–690 for CV / cover-letter services — an unbundled stack near ~CHF 300. oll.in undercuts it as a bundle:
| Price | Product | Why one-time |
|---|---|---|
| CHF 99–149 one-time | The full Swiss Bewerbungsdossier bundle | A jobseeker's LTV is time-boxed to 3–6 months — a subscription is the wrong shape; one-time beats it and matches the house promise. |
| CHF 29 one-time | Standalone headshot (loss-leader / front door) | Cheap enough to convert cold, then upsell the bundle. |
The demand is real and RAV-forced. 152,280 registered unemployed (Jan 2026, SECO), each RAV-obligated to 10–12 applications/month → a 12–20M applications/year floor — a structurally recurring, obligation-driven market, not a nice-to-have.
The moat = the bundle no competitor ships
US tools (Rezi / Teal / Kickresume) are ATS-format and photo-less by design — structurally wrong for the Swiss market (A4, photo top-right, permit/nationality fields, DD.MM.YYYY dates). No competitor bundles all four deliverables:
| Deliverable | oll.in bundle | US ATS tools |
|---|---|---|
| Bewerbungsfoto | ✓ | ✗ (photo-less) |
| Lebenslauf (Swiss A4, photo top-right, permit, DD.MM.YYYY) | ✓ | ✗ (ATS format) |
| Motivationsschreiben | ✓ | partial |
| Vorstellungsgespräch prep | ✓ | ✗ |
PREPARE, don't auto-submit
Mass auto-apply gets 0.5–4% callbacks vs ~10–20% targeted; jobs.ch ToS bans scraping + automated mass-application; and ~40% of accounts on non-compliant LinkedIn automation were restricted in Q1 2026 (directional). oll.in prepares the best possible application — the human submits it. Source jobs via legal APIs only — Adzuna, Arbeitnow, Jooble; the JobCloud affiliate feed — never scrape.
GTM centerpiece — "the application IS the demo." Sam uses oll.in to generate his own AlpineAI application: a privacy-first agent applying to a privacy-first Swiss AI company — a near-perfect narrative fit, and a live proof that doubles as the highest-EV personal career move. B2B (RAV/ORP offices, ETH/UZH career centres, staffing agencies — a ~CHF 10.5B sector) is a phase-2 channel, not the MVP. Full build seam: The Agent Seam.
03The agent layer is live — the substrate oll.in needed
Both oll.in studies said the flagship needs "one sprint of MCP orchestration." That sprint is already done and proven. MCP is production-ready — Linux Foundation governance since Dec 2025, ~9,652 registry servers, native in Claude / ChatGPT / Gemini / Copilot / Cursor. And as of 2026-07-06, oll.am's own MCP seam is proven end-to-end:
OpenCLAW → oll-mcp → live write.oll.am, over stdio + HTTP
OpenCLAW (the agent runtime — Claude Code + skills, already on the VPS) → oll-mcp (a thin FastMCP adapter) → live write.oll.am returning real Groq output, verified over both stdio and HTTP transports. The "one-sprint orchestration" the studies flagged is already the working substrate — so oll.in is now technically unblocked; the remaining work is product, not plumbing.
OpenCLAW × Postiz — they compose, they don't compete
A recurring confusion worth settling: the agent runtime and the publishing layer are different organs, and the win is running both.
| OpenCLAW — the brain/hands | Postiz — the megaphone | |
|---|---|---|
| Does | Decides, drafts via oll-mcp, orchestrates; has browser / cron / web_search | OAuth to 30+ platforms, schedules, publishes reliably |
| Alone | Can't post reliably — browser automation is fragile, ban-risky, no scheduling | Can't think — no reasoning, no drafting |
| Together | The "dark-factory megaphone": cron / n8n → Claw drafts → Postiz publishes. Both self-hosted on the existing VPS at ~€0. | |
Full topology in The Constellation and Platform 2.0 — this section only records the strategic read: the agent layer moved from "planned" to live substrate, and that's what makes oll.in shippable now.
04The operating model now — a frozen-services factory
Sam's role from here is the factory's architect + maintainer, not its feature-builder: make sure the architecture is followed, CI/CD works as intended (only intentional deployments), and the working services get frozen — humaniz + specview each running on a frozen Core + Model, everything green, never touched unintentionally again. Only then do we move to the next thing. This is the dark-factory principle applied to products: merge ≠ deploy; a stable service is mechanically undisturbable (Watch Paths + auto-deploy-off on main); new work only ever happens on a feat/ branch and graduates into the frozen set. Frozen ≠ never-changed: Core + Model still gain intentional, additive extensions (e.g. Core's guest-checkout for foto) via the controlled-change protocol — additive-only → gates green → flagged deploy → re-freeze. Those extensions are deprioritized unless they unblock the franc.
Freeze the foundation
humaniz.me is un-broken (✓ done — live & snappy on the frozen Core + Model, no Anthropic key, every model call routed to the gateway). Two moves remain, both Sam-console-or-merge (not build): turn on intentional-deploy discipline (the stage-integrates / main-promotes branch model — gated Coolify-webhook deploys, git auto-deploy off, deploy fires only on push-to-main + gates-green + an explicit flag); then freeze — Core ✓ · oll-model ✓ · humaniz · specview each graduated to "stable, auto-deploy off, never touched," so a bug in one can't reach another and a doc push can't redeploy a product. The exact PRs, tokens, and Watch-Paths mechanics live in The Plan + The Factory.
Why this mattered: the same step that un-broke humaniz for freezing is the step that made it sellable. Stability and the first franc shared a critical path — and that path is now walked. What's left is distribution, not engineering.
Recognize and name it — don't rebuild it
The instinct was to build a unified writing engine (an on-device "Cursor for writing"). The code says you don't have to: the engine is already shipped, split across two live products. specview's adapter literally carries both halves — generate() (braindump → six structured docs, house-voiced + lint-gated) and rewrite() (prose-in / prose-out) — and rewrite() is the same job humaniz.me does. So the engine isn't a thing to build; it's generate ⟷ refine, two stages of a draft's life, both already enforcing one promise: preserve the author's meaning. The strategic move is to name it, not rebuild it. The on-device write.oll.am tier is a deferred build — it becomes "add an on-device gear to the engine that exists," and only after humaniz earns its first francs (the full synthesis).
05The sharpest wedge — lead with the writing tool, not the workspace
Each oll.am positioning pillar, taken alone, is already owned by someone. Ranked by how defensible/marketable it actually is:
| Claim | Reality (2026 scan) | Verdict |
|---|---|---|
| Pay-once honest writing help | The clarity/editing field is near-universally subscription (Grammarly, QuillBot, Wordtune, Sudowrite); Hemingway's $19.99 one-time is the lone precedent — and it's beloved for it. "Honest, not a detector-bypass" is a brand stance rivals can't copy without abandoning theirs. | Lead with this |
| Pay-once pricing (house promise) | Rides real, documented subscription fatigue — but in the workspace category TypingMind already owns pay-once multi-model at $39. | House promise, not a product claim |
| Privacy ("your words stay yours") | A real trust signal, not a technical moat. Keep only the true claim — inputs not used to train models. Do not claim "Swiss-hosted" or a country of hosting: the VPS is in Frankfurt, and "Swiss-made" is irrelevant to a hosted web tool. The honest pillars are pay-once · open-weight option · private-by-default. | Amplifier (honest claims only) |
| Any-model / open-weight option | Now technically real: the oll-model gateway speaks groq (default) · claude · ollama (open-weight, bundled, opt-in — PR #55). But open/local inference is commoditized to free by Jan, LM Studio, Open WebUI, Ollama — you can't out-cheap free. | Feature, never the headline |
| Generic "any model, pay once" workspace | Real under the hood now, but a late entrant into a category with a free OSS floor and a pay-once incumbent. | Demote to a later, supporting play |
The one sentence to lead with: "Honest writing help — no subscription trap, your words stay yours: buy a credit pack, not a monthly habit." It stacks the pillars in the single category (no-subscription + honest) where they're genuinely underserved, points at the asset already able to take money, and demotes the crowded workspace pitch. (Per the pricing decision up top, the metered tool sells credit packs, not a literal "pay once.")
06Market map (cited, honest)
Writing / clarity (humaniz.me's field)
Grammarly (~$12/mo), QuillBot (~$4–8/mo), Wordtune (~$10/mo), Sudowrite ($10–70/mo) — all subscription. Hemingway ($19.99 one-time) is the pay-once precedent. Gaps: (a) pay-once honest clarity is nearly unsold; (b) most "humanizer" tools live in the detector-bypass gray zone — an explicitly honest, anti-bypass tool is differentiated. Caveat: incumbents have huge distribution; the wedge is pricing model + honesty, not features.
Multi-model workspace (the demoted pitch)
TypingMind (one-time $39–99, BYO-key, 18 providers) is the direct pay-once incumbent. Mono/Poe/ChatGPT/Claude are subscription; Jan/LM Studio/Open WebUI/Ollama are free + local. The macro tailwind is real (subscription fatigue; "few Americans pay for recurring AI" — NPR, 2026) but it converts mostly to free tools. Trend ≠ moat.
AI headshots (foto-service, product #2)
A proven solo-builder cash market: HeadshotPro / Aragon / BetterPic / Secta / Dreamwave all sell ~$30–50 one-time for ~100 shots; Photo AI (Levels) did $0→~$132K MRR on the same Flux-LoRA mechanic. Demand rising (market ~$450M; 68% of job-seekers open to AI headshots). Economics are great (~$2–3 to train a Flux LoRA on Replicate + cents/image → ~85% margin). But: "pay once" is table stakes here (the field is already one-time), and the DACH "Bewerbungsfoto" niche is contested (ProHead.ai, FormalFrame, CVPics — Swiss, DSGVO, ~CHF 39). The real risks are likeness quality + refunds, not infra.
Sources (2026 web scan): TypingMind pricing · Mono · Msty · Jan/LM Studio/Ollama · NPR "few pay for AI" · Hemingway/QuillBot/Grammarly · HeadshotPro/Aragon/Secta · Photo AI (Indie Hackers deep-dive) · fal/Replicate Flux-LoRA cost · ProHead/FormalFrame (DACH) · Indie Hackers / Freemius / ChartMogul GTM benchmarks. Full citations in the research agents' findings (this session's run).
07Asset → dollar ledger (honest about the rung)
| Asset | Rung | Single blocker to its next dollar |
|---|---|---|
| humaniz.me (writing) | LIVE & snappy | None on the build side — prompt tightened + crash-loop fixed (PR #13, merged + deployed). The blocker is now distribution. The first-franc asset. |
| CiteBible (write.oll.am, cited answers) | working RAG run | Distribution — one honest Postiz post away from its first franc (Education lane). The nearest first-dollar candidate. |
| Core + Model | LIVE, healthy | None — freeze them. (oll-model now speaks groq · claude · ollama.) |
| Agent seam (OpenCLAW → oll-mcp → write.oll.am) | PROVEN e2e 2026-07-06 | None — it's the live substrate that unblocks oll.in (stdio + HTTP, real Groq). The seam. |
| oll.in (Swiss job-application flagship) | unblocked — build MVP | The flagship revenue bet (§02): bundle the four deliverables, legal job-source API, "the application IS the demo." Gated behind the first franc. |
| specview | pure Core client (#124 retires the Core residue — auth/billing/email deleted) | Set the gateway env on its api, then freeze. Not a revenue product — the lift-shift reference, and the hardest future consumer to migrate. |
| foto-service (headshots) | scaffolded, real LoRA verified no-spend | Folds into oll.in as the CHF 29 standalone-headshot loss-leader + the bundle's photo. Guest checkout (Core #21) + a photo-upload endpoint + a real Replicate token. |
| Distribution surface | built (comparison pages + directory kit + the agent+Postiz megaphone) | Sam submits/posts (an outward action). |
08Build order & sequencing — franc-first
The ordered, dated execution lives in The Plan; this doc holds only the why of the sequence. The guardrail is explicit and unchanged: the constraint was never code — it's launching and charging, so nothing new starts before the first stranger franc (CiteBible distribution is one honest Postiz post away). After that:
First stranger franc — from an already-working asset via distribution, not a new build (CiteBible / humaniz; see §05–§06). This is the only gate that matters.
oll.in MVP as the flagship — highest EV (§02), and now technically unblocked by the live agent seam (§03). Bundle the four deliverables, source jobs via legal APIs, ship "the application IS the demo."
Open-source the ollwrite engine as the distribution funnel (Apache-2.0, free self-host → cloud Pro; the Postiz-validated pattern, §01). Slow-burn 12–24 months — a compounder, not a first-dollar move.
B2B / marketplace (oll.in's RAV/career-centre/staffing channel; teams billing). Deferred until a product clears the bar — not an MVP distraction.
The state.json do-not-build guardrail (generic multi-model workspace as a headline · more ADRs/strategy docs · nav/design passes · Product Hunt · brand sprawl beyond the two bets · B2B billing before ~$20–50k MRR) keeps autonomous fires from drifting off that line.
09Open business decisions (recommendation first)
| Decision | Recommendation |
|---|---|
| Pricing model | See the pricing decision at the top. Metered AI tools sell credit packs (pay-once-compatible) and/or an optional CHF 9/mo all-access tier; literal "pay once" is reserved for offline/local tools. Simplify the Stripe catalog (one Pro price + credit-pack SKUs, not 3 alias vars). The CHF 9/mo is what builds TrustMRR rank; pay-once pre-orders spike all-time revenue + cold-convert. |
| What to lead the brand with | The honest, no-subscription writing tool (credit packs — not the literal "pay once"; see the decision up top), not the multi-model workspace. Re-point the landing's hero accordingly when convenient. |
| oll.in wedge | The bundled Swiss Bewerbungsdossier (Foto + Lebenslauf + Motivationsschreiben + Vorstellungsgespräch) — the four-deliverable bundle no US ATS tool ships (§02). Win on the Swiss format + likeness quality + PREPARE-don't-auto-submit compliance — not on a hosting-location claim (no "Swiss-hosted"). One-time (CHF 99–149) beats subscription — a jobseeker's LTV is time-boxed. |
| Landing vs-pages (vs Mono/ChatGPT/TypingMind) | Keep in the sitemap (SEO satellites); demote the on-landing link row to the footer — they're for inbound search, not on-site conversion. |
| First-week action | Do not build. Distribution is the bottleneck, not engineering. The honest first-dollar plan: Reddit value-first (genuinely useful free rewrites, link in bio) + AI directories (TAAFT, Toolify — dofollow + buyer-intent) + personally email the signups. Not ads or Product Hunt yet. Copy-paste-ready in the distribution kit. The first paying stranger is the only success metric of the week. |
10Compass intel — refinements & forks (2026-06-30)
Kept for rationale — refined by the 2026-07-06 synthesis above (§00–§03): "foto = product #2" is now "foto folds into the oll.in flagship"; "job-seeker funnel" is now the bundled Swiss Bewerbungsdossier; and the AlpineAI fork resolved into "the application IS the demo."
A second deep research pass (the "compass" report) confirms the core calls (pay-once · the Swiss Bewerbungsfoto niche · manual niche distribution) and adds sharper tactics. (Honesty note: the report's original "Swiss-hosted" angle is dropped — the VPS is in Frankfurt; the true pillars are pay-once · open-weight · private-by-default.)
| Signal | Refinement / recommendation |
|---|---|
| Image-out ≫ text-out economically | Headshots monetize far better (one-time $29–49 packs; BetterPic $1.5K→$20K/mo) while the humanizer category is brutally price-compressed (~$5–15/mo, leader stuck ~$33K/mo) and ethically fragile. Recommendation: treat humaniz.me as a 2-week warm-up (it's live now — flip Stripe to live · prove one pre-order), not the long-term revenue vehicle — then let the oll.in flagship (foto folded in) lead the 90-day product push. (A reorder of the old "humaniz = P0" — resolved by §02.) |
| Distribution is the bottleneck, not product | First dollars need a warm audience; it's founder-only for 12+ months. Stage it concurrently with foto — daily X build-in-public + Reddit reply-first + a newsletter from day 1 (capture audience early). Programmatic "vs" pages need DA ≈ 35+ to rank, so they're a slow-compounding play, not a first-dollar one. The conversion blocker is cleared: humaniz is back up and snappy, so traffic now lands on a working product — the gap is purely showing up (the distribution kit makes that frictionless). |
| Pay-once economics on metered AI | A literal one-time price can't recover unbounded per-call LLM cost — Hemingway's split (offline editor one-time vs AI features on subscription) is the live evidence. Synthesis (the basis of the pricing decision up top): keep the "no subscription" promise via credit packs + an optional CHF 9/mo; reserve literal "pay once" for offline/local tools. |
| specview as product #3? | Possible angle — a build-in-public doc-site generator (this very narrative as the template), not a C4 multi-model tool. It's now a pure Core client (#124 deleted its in-repo auth/billing/email) and the generate end of the writing engine. Gated behind the do-not-build guardrail until a stranger pays: noted, not pursued. |
| Pre-order conversion levers | 10–20% against a warm audience (vs 2–4% cold) — but only with: a working demo (live/video), a $19 entry tier under the $35/$65/$125 anchors, a refund guarantee, scarcity + countdown, and a "Get early access" CTA (not "Buy now"). |
| Product roadmap = a job-seeker funnel | Order the next products as a funnel: headshot → CV → cover letter → interview-prep (then product-description copy). Each cross-sells the last; all differentiable on the Swiss job-application format + GDPR-compliant data handling (true claims, not a hosting-location claim). Now unified as the oll.in bundle (§02) — the standalone headshot is the front door. |
| ⚖️ FORK → resolved — the AlpineAI job as "the application IS the demo" | CHF 120–150K (SwissGPT, Davos) is the highest-EV near-term personal/income move, and it's legally compatible if disclosed in writing (consumer tools ≠ regulated-sector B2B). The 2026-07-06 synthesis collapses the fork into the flagship: Sam applies via oll.in generating his own AlpineAI application — a privacy-first agent applying to a privacy-first Swiss AI company, the GTM centerpiece (§02). The oll.am build log is the portfolio. Full-time sprint vs weekend asset remains Sam's gating call, but the two are no longer mutually exclusive — the job application is the product demo. |
These are proposals from the compass research (full report in research/); the humaniz-vs-foto reorder and the AlpineAI fork are decisions for Sam, not yet baked into The Plan — which re-aligns to whichever Sam picks. This Strategy doc is the why/what/market; The Plan is the concrete ordered execution; the Control Room is the live state — they must stay consistent (one says why, the next says do-this-now). Market claims are from this session's cited research runs; revisit when the landscape moves.