I run a tiny coffee subscription out of a garage. Twice a week I owe my subscribers a featured-origin page: the farm story, tasting notes, a buy button. The page was never the hard part. The idea was. Tuesday morning, espresso not yet poured, I'd burn an hour on an opening line about a Yirgacheffe lot I'd already called bright twice that month. The loop that ate that hour runs on three x-rush features now. An Automations job drops the hook into a chat thread at 08:00, the thread itself develops the angle, and HTML Studio turns it into a published page. Three features, one teal accent (#00D4AA), about twenty minutes end to end.
Where the 8am hook comes from
Automations (/workbench/text/auto) starts with a hard prerequisite: a job runs exactly one character, that character has to live in your current project, and the binding is permanent. No swapping. When I outgrow my copywriter, I build her successor and give the successor its own job.
The setup is one form, six short steps. The ones that did the work for me: task requirements (mine, verbatim: "one story angle for this week's featured origin, plus a suggested opening line. No 'bold'. No 'journey'."), web search (off; my hooks come from the bag), and schedule (Tuesdays and Fridays at 08:00, with my timezone printed on the step so a trip abroad can't silently move it). Before enabling, a free preview lays out the whole config and the next run time, and every run costs a fixed price it shows you up front. I paid for one test run first, same price as a real one, and it arrived flagged as a test. Cheapest possible way to see your actual 8am output before committing.
If a run fails outright, it takes three consecutive failures before the job pauses itself; a dry balance or a safety block pauses it on the first hit (the morning my balance ran dry, for instance). It tells me instead of improvising a hook from stale memory. I respected that more than I expected to.
The hook shows up in the chat, not a feed
The first Tuesday I went hunting for a feed of pushes. There is no feed. The hook appeared where my character lives: a message from her in our ongoing AI Chat history, marked as an automated run, and the unread count on the site-wide chat bubble ticked up one. It confused me for about a minute. It's deliberate. The automation writes into the character's chat, so the hook and everything I say back to it stay in one place, and the same message is indexed in the Automations content list so I can also find it by job or by date.
From that list, the continue-chat link drops me into the thread at the exact message. No copy-paste, no re-explaining which lot I mean. My first reply back is usually an instruction: "three openers, lead with the washing station, drop the altitude by line three." Her replies bill as ordinary chat, which means the site-wide pool: every ten successful replies across my characters costs 0.5 credits, and a failed reply doesn't count.
Margot, the copywriter, I built in AI Chat weeks before I scheduled her. Behavior rules first: tasting notes like a novelist, never the word "notes" twice, never "bold". Then a kraft-paper chat background and a warm #C8A27A accent, because this thread is where my writing mornings live now. The name took ten seconds and I won't defend it. Worth knowing if you build your own: character config is measured in characters, not in headcount. You get 5,000 characters of config per character, 3,000 of which covers background notes, and uploads like her avatar and chat background count against a 10 MB file budget. Nothing stops you from keeping a dozen characters.
The part I'd have bet against: the threads don't bleed. I keep a second character who nags me about green-bean invoices, and switching between the two never costs me a history. Each character keeps its own thread, and after every ten successful replies the system quietly folds that character's context down so a long chat stays usable.
From thread to live page
Last leg: HTML Studio (/workbench/text/html). The create form is three fields: a name, optional tags, and one plain-language brief. No type picker, no style dropdown; if I want it, I say it. My brief, verbatim: "single-page origin spotlight for the Guji lot — hero with the farm photo, tasting notes in a two-column grid, sticky buy button, dark background." One confirm at 0.5 credits and the workspace exists, code streaming in while the preview keeps up.
Two panes: file tree and a proper code editor on the left, live preview on the right, plus a device-width menu I flick to phone size to check that the buy button doesn't collapse under the headline.
The AI panel is one input box, no modes. Questions get answers. An edit request — "make the buy button #00D4AA, sticky on mobile, and pull the tasting notes into a two-column grid below the hero" — comes back as a proposal with its own confirm button wearing 0.5 credits. Nothing changes until I press it. Annoying? The first day. Since then it's the reason my balance outlived my curiosity.
The safety net: when one edit came back with spacing I hated, a single Undo rolled the code back to the second before it. One restore, not an endless chain. My own manual edits, by contrast, are unlimited and free, and the draft autosaves the whole time.
Publishing gives me two choices: a share link that stays out of the community, or a full community listing. Review is automatic, and the page gets a stable address (/p/guji-4b2e) anyone can open without a login. When Friday's typo-fix publish went out with the wrong hero image, I opened the version history, picked the morning's version, and hit republish. Same URL, correct page, working draft untouched. Publish versions aren't a rolling window. All of them stay.
A page used to cost me an evening of template wrestling. It costs twenty minutes and about a credit of confirmations now.
What still trips me up
- Automations is text only. My hook is words; the farm photo is still my job.
- One run time per day per job. I tried to squeeze a second weekly hook out of Margot for a launch week. The one-to-one rule says build another character.
- No type or style pickers on the create form. If you want a labeled starting point, open Templates instead — using one is free and drops a ready workspace into your project.
- HTML Studio on a phone is a chat screen, not an editor. Fine for "make the headline smaller." Wrong for real work.
Anyone who tells you the blank page is solved hasn't met a Tuesday.
The engines, briefly
Third-party and dated, because this isn't a benchmark post: as of July 2026, Anthropic's Claude Fable 5 is the line the writing-heavy reviews keep crowning, OpenAI's GPT-5.6 ships in three tiers that matter if you pay per token, Google's Gemini keeps stretching context length, and Alibaba's Qwen stays the default name in Chinese-language tooling. It's a weather report. I'm not reviewing these engines here, and none of it says what runs where.
Inside x-rush I never pick an engine. Each run and each reply routes by task, and what the routing favors shifts as new models land. I just notice the answers got good and stayed that way.
If you want the manual
- Text module overview — the three-feature surface and how it chains
- Auto content generator — the Automations form, scheduling, and run history
- AI characters & chat — building characters worth scheduling
- Smart page generator — the editor, the priced confirm, publish and versions
I came in needing an opening line for a coffee page. I stayed because the loop keeps producing pages worth publishing. Setting the job up costs nothing; the runs and the code edits are what cost, and they're priced like coffee, not like equipment. And the espresso that used to go cold while I wrestled an opening line finally gets drunk while it's hot.