"Is your writing all right? ollwrite fixes that."
Lives at write.oll.am — the subdomain is already owned (wildcard *.oll.am → the VPS), so zero domain cost, zero DNS work. And it sheds humaniz's "detector-bypass" baggage for an honest, positive, viral-able brand: a pun you can say out loud.
⚠️ Sequencing — ship-vs-build: franc-first, converge-second
ollwrite is a rebrand + unify over infrastructure that already exists (humaniz's rewrite backend, specview's braindump→spec, the frozen oll-model gateway, the frozen live Core with Stripe). It is tempting to start here — but the first stranger franc isn't closed yet. humaniz.me is live and ~3 minutes from charging: the Stripe webhook + live-key flip, a Sam-console job. That dollar is the fastest and it comes first.
So the order is fixed: close the franc, then converge into ollwrite. The outward, irreversible moves — redirecting humaniz.me / specview.dev, killing those brands, migrating signups — happen only after the franc lands AND Sam gives an explicit go. Everything before that is a dark-factory job on a feat/ branch: reversible, un-deployed, no live account or domain touched. The Plan stays the order of record.
01One-liner
"One AI writing app — Clarify · Spec · Draft — any model, pay once, at write.oll.am."
ollwrite rewrites messy text for clarity, turns a braindump into a build-ready spec, and drafts polished prose. One editor, three modes, one price. No per-tool subscription; no model lock-in.
02Problem & who has it
Who
The person who writes to think and ship — the solo founder, the PM, the engineer — drowning in messy drafts, half-formed specs, and Slack-tone emails they need to make presentable. They don't want three tools, and they don't want a subscription per tool.
Why today's answer is broken
Sam's own answer is split across two brands: humaniz.me (rewrite for clarity) and specview (braindump → spec). Two domains, two identities, split SEO, double the maintenance — and humaniz carries detector-bypass baggage that caps how honestly it can be marketed. One person, one job-to-be-done, fragmented into two half-products.
ollwrite unifies them into one honest brand with one price and one URL — the same engine, finally coherent.
03The one core flow — where money changes hands
The money step reuses the exact Core auth + Stripe that is live today — magic-link JWT, /me plan, checkout/webhook. That is precisely why the chargeable version is milestone 1, not last: we are not building a payment path, we are pointing an existing one at a new front door.
04Scope (v1)
One editor UI with three mode tabs, plus a couple of tone toggles. Backend = extend the existing write-service with one prompt per mode (routes/prompts only) — no new service.
Clarify
Rewrite messy text for clarity & flow.
← humaniz.me rewrite prompt
Spec
Turn a braindump into a build-ready spec.
← specview braindump→spec prompt
Draft
Braindump → polished prose.
← new prompt on write-service
Tone toggles: formal/casual, shorten. Model call: frozen oll-model (Groq default) — no model SDK in ollwrite. Auth/plan/upgrade: frozen Core. Deploy: Coolify app at write.oll.am, Watch Paths services/write/**. Gating: free 3/day by Core plan; Pro CHF 9/mo unlimited via the existing Stripe.
05Explicitly NOT in v1 — the resist list
This is the ship-biased boundary. Everything here is real work that is deliberately out of scope so v1 stays small and reversible.
- ✕Domain redirects / killing humaniz.me + specview.dev — outward & irreversible; only after the franc + explicit go.
- ✕Signup migration / account merging — Core already unifies auth; do not touch live accounts.
- ✕On-device Vault build (WebGPU / desktop) — that's v2.
- ✕A new backend/service — REUSE
write-service; do not build an "ollwrite-service". - ✕New Stripe catalog — reuse Core's live CHF 9 Pro.
- ✕SEO / comparison / marketing pages — after it's chargeable.
- ✕specview's project-persistence features — ollwrite is stateless text-in / text-out in v1.
06Reuse map — reuse-not-rebuild
ollwrite owns almost no new code. It is a thin composition over assets that already exist and are (mostly) frozen.
| Capability | Reused from | What ollwrite adds |
|---|---|---|
| Rewrite for clarity | humaniz.me backend | lift the prompt only |
| Braindump → spec | specview backend | lift the prompt only |
| Draft / tone ops | write-service (services/write) | one new prompt + toggles |
| The model call | oll-model gateway (frozen, Groq default) | nothing — NO model SDK in ollwrite |
| Auth · plan · upgrade · Stripe | Core (frozen, live) | nothing — magic-link JWT, /me, checkout/webhook |
| Editor UI | humaniz.me editor | reuse as the app shell |
| Braindump input | specview braindump input | reuse as the Spec tab |
| Quota gate (3/day) | server-usage-quota-gate + Core plan | wire mode calls behind it |
07Data model & API contracts
Stateless in v1
Text in → text out. No new persistence, no new DB. Identity & plan come from Core; the model call comes from oll-model; ollwrite owns only the prompts.
{text, tone?} → out {text, provider, model}{braindump} → out {markdown, provider, model}{braindump, tone?} → out {text, provider, model}Each endpoint: takes a Core JWT (or is guest-limited), checks the Core /me plan for the 3/day free cap, then calls oll-model POST /api/text/complete with that mode's prompt. Identity/plan from Core; the model call from oll-model; ollwrite owns only prompts. No DB.
08Milestones to first stranger dollar — chargeable FIRST
- Close humaniz's live franc gate · not ollwrite — the fastest dollar available today (Stripe webhook + live-key flip, Sam console). Not part of ollwrite; it just comes first.
- write.oll.am live with Clarify mode only chargeable — lift humaniz's rewrite prompt into
write-service /clarify, one editor page, Core auth + the live CHF 9 Pro upgrade wired, 3/day free cap. Ship alone if needed. - + Spec + Draft tabs — two more prompts + mode tabs on the same editor.
- Redirect + rebrand after franc + go — point
humaniz.me/specview.dev→write.oll.am, update TrustMRR, build-log it. Outward & irreversible → only after the franc and Sam's explicit go. - Vault — on-device pay-once v2 — WebGPU / desktop, data never leaves the machine.
09Open questions
- Free-tier gate: guest trial vs login-required for the 3/day? Guest = virality (paste-and-go, no signup); login = cleaner quota accounting.
- Spec mode output: specview's structured multi-section output, or a single markdown blob in v1?
- Vault pricing: a $39 one-time purchase, or fold on-device into Pro?
- Old domains: keep
humaniz.me/specview.devas live redirects, or permanent 301 (SEO consolidation)?
10Architecture at a glance
write.oll.amollwrite (frontend) → write-service (prompts) → oll-model (frozen, Groq default) → Core (auth · billing, frozen). New surface = one frontend + three prompts. Everything below the fold is already built, tested, and live.