Five days ago I wrote about a small editor I had put together on vacation. The post ended with two words: build the thing. I took my own advice and kept going. It is a little more than a weekend toy now, and the changes I like best were ones I stumbled into rather than planned.
It learned to hide its own tells
Before that first post went up, I cleaned the draft by hand: em dashes everywhere, throat-clearing openers, the “not just X, but Y” cadence.
That annoyed me enough to fix at the source. The writing prompt now carries a hard rule: no em dashes or en dashes, ever, use a comma or a colon or two sentences instead. Under it sits a short list of habits to avoid: the filler openers, the “not merely” construction, the words that give the game away (delve, tapestry, leverage).
It can write in a voice now
The cleanup used to be a manual pass. Now it is a setting. There is a Style picker that reads the writing “skills” in my Claude folder, each one a small file describing a voice, and every draft and revision comes out in the one I choose.
It got honest about tokens
After I was happy with the early results, I started wondering how expensive all this actually was. So I made the tool honest about tokens. Each operation shows the tokens it spent, a rough dollar-equivalent, and which model actually ran, with a warning if a model I asked for got quietly swapped for a cheaper one. One small change, running the writing calls outside the project directory, cut the per-call cost somewhere between seven and twenty-three times. The boilerplate context I was shipping on every request turned out to be most of the bill.
It became a real editor
Not every change is worth a round trip to Claude. A wrong word, a clumsy line: there was no point sending those to a model when I could fix them myself, except the first version gave me no way to. It was a chat that happened to render nicely. This one is closer to a page. The document opens editable, laid out as an actual US Letter sheet, and I can type straight into it, with autosave a beat after I stop. Claude is still there for the surgical edits, point at a sentence and ask, but a lot of the time I just want to fix a word myself, and now I can.
And because I am editing freely now, every change is snapshotted, the first draft, each revision, each burst of typing, and I can open any snapshot, see exactly what it changed as a diff, and restore it. Nothing is lost.
Then it started doing my email
This is the part I did not plan. Most of my email is writing and rewriting, and the compose box is a poor place to do either, especially while sending parts of the writing to a writing agent. So I brought email into the same surface. There is a Docs and Mail toggle at the top now. I can search for a thread, let the editor read it, and draft a reply with the writing tools I already use, in the voice I already picked.
I built this one differently, too. I had Claude write the spec first, then edited and revised it right here in the editor until the spec and the architecture said what I actually meant. Only then did I have Claude build the feature from what we had aligned on. The tool helped plan its own next feature, and then that plan got built.
Two rules matter more than any feature here. The first: it never sends on its own. Every push to my mailbox, a saved draft or a send, goes through one review screen that shows the recipients and where each address came from, the subject, the body, and a quiet warning if I mention an attachment I forgot to attach. Even if I type “send it,” it stages the message and waits for me. Claude reads, drafts, and suggests. I commit.
The second: it does not assume Gmail. It asks the connected account what it can do and shows me only those actions. Today, with my Gmail connected, that means it drafts and saves to my Gmail drafts, and I press send from Gmail. Connect an account that can send through its own API and a Send button appears. The app never learns a new provider, it just asks the one it has.
The point still holds
What have I actually done with it in five days? More than I expected. I have drafted these two blog posts in it, written up the books I read last year, and chased a few stray curiosities: how tides work, military strategy in Europe 1815-1914, the airlines with the best business classes in 2026. I have written real email in it too, the first draft of a thank-you note to the concierge employees at our hotel. And as I mentioned earlier, I have used it to design its own next features, drafting the specs for the email work and for what comes next, then refining them in the editor itself. A tool I reach for that many times in five days, for that many unrelated things, may not be a toy after all.
I will not pretend this is finished. It is still single-user, still rough at a few edges, still a thing I run on my own laptop and nowhere else. But the bet from the first post looks better five days in, not worse. The distance between a tool that is almost right and one that fits you exactly is still a weekend, and the weekends compound. The editor keeps quietly absorbing the writing I actually do, documents, blog posts, now email.
It is still open source, warts and all. Take it apart, or build a better one.