Product Spec · build-ready · captured 2026-07-01

ollwrite — one writing engine.

Your writing, all right. Any model, pay once. One app that rewrites for clarity, turns braindumps into specs, and drafts polished prose — at write.oll.am.

rebrand over infra that EXISTS franc-first · converge-second zero domain cost · *.oll.am
ollwrite
oll — the brand + write — what it does = said aloud: "all right"

"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

01Openwrite.oll.am
02Pasteyour text
03Pick a modeClarify · Spec · Draft
04Get better writingtext out
05Hit the free cap3/day
06 · 💰Upgrade to ProCHF 9/mo · unlimited

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.

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.

CapabilityReused fromWhat ollwrite adds
Rewrite for clarityhumaniz.me backendlift the prompt only
Braindump → specspecview backendlift the prompt only
Draft / tone opswrite-service (services/write)one new prompt + toggles
The model calloll-model gateway (frozen, Groq default)nothing — NO model SDK in ollwrite
Auth · plan · upgrade · StripeCore (frozen, live)nothing — magic-link JWT, /me, checkout/webhook
Editor UIhumaniz.me editorreuse as the app shell
Braindump inputspecview braindump inputreuse as the Spec tab
Quota gate (3/day)server-usage-quota-gate + Core planwire 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.

POST/api/write/clarify
in {text, tone?} → out {text, provider, model}
POST/api/write/spec
in {braindump} → out {markdown, provider, model}
POST/api/write/draft
in {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

  1. 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.
  2. 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.
  3. + Spec + Draft tabs — two more prompts + mode tabs on the same editor.
  4. Redirect + rebrand after franc + go — point humaniz.me / specview.devwrite.oll.am, update TrustMRR, build-log it. Outward & irreversible → only after the franc and Sam's explicit go.
  5. Vault — on-device pay-once v2 — WebGPU / desktop, data never leaves the machine.

09Open questions

10Architecture at a glance

ollwrite — frontend
one editor · Clarify · Spec · Draft tabs + tone toggles · write.oll.am
write-service
Clarify · Spec · Draft prompts (routes/prompts only) · stateless
oll-model
frozen
the model call · Groq default · no SDK in products
Core
frozen · live
auth · plan · billing · magic-link JWT · Stripe
oll.am — platform write.oll.am — ollwrite core.oll.am — frozen model.oll.am — frozen

ollwrite (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.

Status: this is the SPEC — captured tonight, fully reversible; nothing built, nothing deployed, no live domain or account touched. The build sequences after the first stranger franc (close humaniz, then converge). The order of record stays The Plan.