Off-the-shelf editors trade away one of three things: portability, control, or quality.
A markdown editor usually asks for one concession. A heavy desktop install, or documents that live on someone else's service, or markdown treated as a side-show beside a richer editor. Email-template tools ask for a different one. The author writes against their renderer and their font catalogue, then trusts a preview that is only roughly what the recipient will get, wrong often enough to matter.
mark-one refuses both trades. It is a markdown editor first, an email-template authoring client second, and its data lives on the operator's own Cloudflare account. A single writing surface that is the same everywhere, depending on no third-party service to keep working.
mark-one authors and renders. It never sends.
A finished template is rendered, never delivered here. Each save appends an immutable version row and moves the live pointer to it, so a later send binds to a specific snapshot and never drifts. When the email needs to go out, mark-one hands the finished pair to the separate ae-mail system over a private worker-to-worker binding. ae-mail owns the audience, the suppression list, and the send. The seam carries a typed contract and nothing more.
{ html, text }The preview pane and the production send are the same pipeline.
The whole email pipeline is pure TypeScript: a markdown walker that consumes an eight-slot brand palette, a CSS inliner, and a plaintext mirror for the multipart fallback. That pipeline runs in the editor on every keystroke and on the server at render time. One source feeds both. The preview is not an approximation of the send. It is the send, drawn early.
A markdown-first authoring surface, owned end to end.
What the writer gets: a portable editor whose preview is the send, versioned templates, a typed brand, and a clean handoff to delivery.
The draft is the inbox.
The brand a template binds to is a complete palette consumed whole, so blockquote text, inline code on its subtle surface, and links over the accent bar cannot drift out of harmony between the editor chrome and the recipient's client. With one renderer behind both surfaces, the preview pane stops being a best guess at the send. The author reads the finished email in the pane, and the recipient reads the same bytes in the inbox.