Contents
  1. Start
  2. The basics
  3. Getting started
  4. Connecting Claude
  5. WordPress sites
  6. Static sites on Hostinger
  7. Site scan and theme
  8. Finding topics
  9. Finding breakouts
  10. Seed banks (automatic seeds)
  11. Trending now
  12. Schedules and runs
  13. Google rate limits
  14. Writing and publishing
  15. Reports and ideas
  16. Drafts and review
  17. Publishing
  18. Publishing it yourself
  19. The assistant
  20. Sending drafts to Asana
  21. Writing guide and quality check
  22. Autopilot and notifications
  23. The site dashboard
  24. Connecting Search Console
  25. Search performance and improvement plans
  26. Getting posts indexed
  27. Topic clusters
  28. Keeping the site current
  29. Site feeds
  30. Working with another publisher
  31. Developing stories
  32. Reference
  33. Safety and backups
  34. Your data and restarts
  35. Troubleshooting
  36. Self-hosting settings

Documentation

How WriteOut works

WriteOut finds what people in your niche are starting to search for, turns it into posts written in your site's voice and theme, and publishes them to your site when you approve. This guide covers every part of it.

  1. 1. WatchRising and breakout searches from Google Trends
  2. 2. PlanClaude ranks them into post ideas, new or updates
  3. 3. WriteResearched drafts in your voice, ready to review
  4. 4. PublishStraight to Hostinger, at the time you pick
  5. 5. ListAdded to your home page, categories, sitemaps and RSS
  6. 6. Follow upUpdated as the story develops

The basics #

Each website you add is a site in WriteOut. For each site, WriteOut runs a breakout search, on a schedule or when you click Run breakout search now. A run collects the searches that are rising on Google for your keywords, topics and country, and Claude turns them into a short, ranked list of post ideas, dropping the noise that doesn't fit your site.

From an idea, WriteOut researches the topic on the web and writes a complete draft: title, meta description, URL slug, headline, body, FAQs, sources, category and label. You review and edit it, then publish it now or schedule it. The post is uploaded to your Hostinger site as a page in your own theme, and (with Site feeds on) added to your home page, category pages, sitemaps and RSS feed. When a story keeps moving, WriteOut can update the post instead of writing a new one.

Nothing goes live without you. Every draft waits for your review. The one exception is a story you've chosen to watch with Publish updates automatically ticked.

Getting started #

WriteOut is invite-only for now: request access and we'll email you when your spot opens. Then sign in at app.writeout.tech. Each WriteOut install has one owner account; after five wrong passwords, sign-in pauses for 15 minutes.

Adding a site

Click New site on the dashboard. A setup wizard reads your site and fills in every step for you to confirm or change. You can leave part-way and pick up from the dashboard.

  1. Website. Enter the URL. WriteOut reads it straight away (see Site scan).
  2. Platform & hosting. WordPress, a static HTML site, or I publish it myself (any platform), and your host. It's pre-selected from what the scan detects, and the steps after it change to match.
  3. Site & theme. What the scan found. For a static site, also a live preview of how new posts will look, and where they'll be saved.
  4. Audience & voice. Your niche and writing style, suggested by Claude from your existing posts.
  5. What to watch. Country, keywords, topics and Trending now. Keywords are optional; a country alone works.
  6. Schedule. How often to run, whether to auto-write drafts for the top ideas, and whether to research on the web.
  7. Publishing. For WordPress, a username and Application Password; for a static site, your Hostinger API token. Optional: without it you can still review drafts and download each page's HTML.
  8. Site feeds. Static sites only: whether to add new posts to your site's own lists, and which lists (see Site feeds). WordPress does this by itself.
  9. Review. A summary of everything, then Finish or Finish & run first breakout search.

Change anything later from the site's Settings.

Connecting Claude #

Claude writes the ideas, research and drafts. Without it, runs still produce the raw trend report, but no ideas or drafts. Open Claude connection and pick one:

  • Your Claude account (Pro or Max). Runs count against your plan's usage limits; no API key needed. On a server, run claude setup-token on your own computer and add the token it prints as the CLAUDE_CODE_OAUTH_TOKEN setting.
  • An Anthropic API key, pasted on the same page. It's stored encrypted. Usage is billed to your API account.

On Automatic, WriteOut uses your Claude account when it's signed in and the API key otherwise. Test connection asks Claude for one sample idea to confirm it works.

WordPress sites #

For a WordPress site, WriteOut creates real WordPress posts through WordPress's own API, wherever the site is hosted. Your WordPress theme shows them, and WordPress adds them to your home page, category pages, RSS feed and sitemap by itself, so there's no theme to copy and no Site feeds to set up.

Connecting

  1. In WordPress, open Users → Profile for an Editor or Administrator account.
  2. Under Application Passwords, type a name such as "WriteOut" and click Add New Application Password.
  3. In WriteOut's Publishing step (or the site's Settings), enter that username and paste the password.
  4. Click Test connection. It checks the user can publish and loads your WordPress categories.

An Application Password only lets WriteOut use WordPress's API. It isn't your login password, you can revoke it in your profile at any time, and it keeps working with two-factor sign-in. It's stored encrypted.

What gets published

  • the headline as the post title, the article with its FAQs and sources as the content, and the excerpt;
  • the URL slug, the WordPress category Claude picked (from your real categories), and your keywords as tags;
  • the featured image, uploaded to your Media Library once;
  • the SEO title and meta description, where your SEO plugin (Yoast, Rank Math) accepts them through the API.

The post is published under the connected user. Republishing, and developing-story updates, edit that same WordPress post. WriteOut only edits posts it created; if WordPress already has a post at the same slug, nothing is published and you're asked to change it.

Connection refused? If the test says the password is wrong but it isn't, a security plugin or the server may be blocking signed-in API requests. Allow the WordPress REST API for logged-in users in that plugin.

Static sites on Hostinger #

  1. In hPanel, open Profile → API and create a token.
  2. Paste it in the wizard's Publishing step or the site's Settings. It's stored encrypted.
  3. Click Test connection. It confirms your domain is in that Hostinger account and fills in the hosting username.

For a static site, WriteOut uses Hostinger's official API to write files into your site's public_html. That works on regular Hostinger web hosting. It doesn't work for sites built with Hostinger Website Builder or Horizons, which have no file access. A WordPress site doesn't need this: see WordPress sites.

Site scan and theme #

When you add a site, and whenever you click Rescan site, WriteOut reads it. For a WordPress site it reads the sitemap, existing posts and profile; the theme and story lists below are for static sites.

  • Sitemap and existing posts, from robots.txt and your sitemaps. Claude uses them for internal links and to skip topics you've already covered.
  • Your URL pattern. If posts live at /story/<slug>/, new posts go to public_html/story/<slug>/index.html.
  • Name, language, logo and default social image.
  • A profile from Claude: niche, audience, voice, byline, country, and suggested keywords and topics.
  • Your site's story lists for Site feeds.

Your theme

WriteOut picks one existing post as the theme source and turns it into the page template for new posts, comparing it with a second post to tell what's part of your theme from what belongs to that one story. Your header, navigation, CSS, fonts, analytics and footer are kept. Each new post fills in its own:

  • title, date (in your site's own date format), summary, reading time and body;
  • category link and story label, breadcrumb, and share buttons;
  • sources list, in your site's list style, with your tracking parameters added to each link.

Things that belong only to the source story, such as its key-facts box, comments, related stories or a one-off calculator script, are left out. Check the result with Preview theme.

  • Theme source page in Settings picks which post the layout is copied from.
  • Use built-in template instead switches to a clean built-in layout.
  • A template you edit in Settings, or a switch to the built-in one, is kept when the site is rescanned.

Finding breakouts #

A run can use any mix of three sources, set in What to watch:

SourceWhat it finds
KeywordsFor each keyword and each lookback window, the searches Google lists as rising around it.
Topics (no keyword)Rising searches across a whole Google Trends category (Finance, Health, Travel…) in your country.
Trending nowEverything on Google's Trending now page for your country. See Trending now.

Lookback windows run from the past hour to the past five years; pick one or more. The past hour often returns nothing for niche keywords. That's Google, not a fault.

In the results, anything growing more than 5,000% is flagged Breakout (Trending now items always are), and a search that no earlier run of this site found is flagged new. Breakout only keeps just the breakouts.

Only a country? If you leave keywords and topics empty and give a country, Trending now is turned on for you.

Seed banks (automatic seeds) #

Google Trends only shows breakouts under broad, short searches, so instead of a few keywords a site can use a seed bank: many 1–3 word seeds for its niche that WriteOut checks on its own schedule and grows from what it finds. Set one up from a site's Breakouts tab. Claude drafts a starter bank and picks the Trends category; you review and edit it, and nothing runs until you approve it. Sites on the same niche share one bank.

Seeds sit in seven buckets, each checked on its own schedule: brands and products every 7 days, features and use cases every 14, problems and complaints every 3, local-language seeds every 7, and seasonal seeds daily from 28 days before their event date until 7 days after (dormant otherwise).

Each run spends a small budget of Google requests (8 by default) on the most overdue seeds, five seeds to a request, over the past 7 days and the past month (never 12 months, which smooths breakouts away), on web search and on YouTube, which often catches reviews and how-tos first. It also asks for the niche's Trends category with no keyword at all; if a subcategory goes quiet for three runs, WriteOut switches to its parent category and keeps only results that share words with your seeds. Spam (searches with web addresses) is dropped.

What's found snowballs: each rising or breakout search is cut to its core 1–3 word entity ("brandx app login error" → "brandx"), checked for fit by Claude, and added as a discovered seed with its date, up to 10 a run. The seed log shows each seed's last checks: seeds that find nothing four checks running retire (and are retried after 60 days), and seeds with breakouts in two of their last four checks are promoted and checked twice as often. Banks export and import as JSON.

Google no longer returns related topics to free tools. Connect DataForSEO (paid per request) under Trends data source to get rising topics as well, without rate limits from your server; it stops for the day at the spending cap you set.

Schedules and runs #

Turn on Run the breakout search automatically and pick how often: every hour, 4, 6 or 12 hours, daily, every 3 days, weekly or monthly. The first scheduled run starts straight away. Times are in the server's time zone.

  • Auto-write drafts for top ideas writes drafts for the best few ideas of each run (up to 10). They still wait for your review.
  • Research each topic on the web before writing. Recommended for news-driven spikes.

Each run's page shows a live log, the ideas, and the full table of searches, which you can filter and export as CSV. Watched developing stories are checked at the end of every run, so an hourly schedule means hourly checks.

Google rate limits #

Google limits how often Trends can be read, and limits servers in data centres harder than home connections. Every keyword or topic costs one request per lookback window, so ten keywords across three windows is thirty requests. The setup wizard shows how many requests your choices add up to.

All your sites share one server address, so WriteOut manages the limit for all of them together:

  • Spacing: at least 10 seconds between any two Trends requests from any site.
  • Reuse: an answer is reused until it's worth asking again. Rising searches for the past 7 days barely change in an hour, so they're reused for 6 hours; past 24 hours for 90 minutes; past 4 hours for 40 minutes; Trending now for 20 minutes. Two sites watching the same keyword share the answer. The run log says how many were reused.
  • Pause: if Google still says "too many requests" after one patient retry, every site pauses Trends for 30 minutes (then 60, 120 and at most 4 hours if it keeps happening). Retrying sooner only extends Google's block. The run carries on with what it had fetched and still gets ideas; the searches it skipped are fetched first next time. Scheduled runs wait out the pause on their own, you get one notification, and the site header shows when it ends.

If you're still blocked often:

  • watch fewer keywords and windows, and lean on Trending now, which is one request;
  • run less often, or use longer windows (they're reused for longer);
  • route requests through a proxy (the BR_PROXY setting). A residential proxy with sticky sessions works best.

Reports and ideas #

After a run, Claude groups related searches into post ideas, drops what doesn't fit your niche, skips topics your site has covered, and ranks the rest from P1 (publish today) to P5 (nice to have). Each idea shows the search it targets, the others it covers, the angle, and why it's spiking now.

Every idea is tagged:

  • New post: Write draft starts a draft.
  • Update: the trend is a new development in a story one of your WriteOut posts already covers. The idea links to that post and says what's new. Update post revises it (see Developing stories); Write as new post is still there if the angle deserves its own page.

Dismiss hides an idea. Every search in the report's Rising queries table has its own Write draft too, whether or not Claude made it an idea; the draft uses that search's trend data and related searches. To write about any search of your own, use the box under the ideas on the site page.

Drafts and review #

Writing a draft takes one to three minutes. With web research on, Claude first researches why people are searching for the topic now, then writes the post from those notes, linking to your existing pages where they help.

On the draft's page you can edit every part of it:

  • title, meta description and URL slug, with a Google-style preview of the search result;
  • headline, excerpt, keywords, schema type (BlogPosting, NewsArticle or Article) and featured image;
  • category and label, chosen by Claude from your site's own lists;
  • the body, the FAQs (shown on the page and as FAQ schema), and the sources.

Sources are the pages the research found, one per line as URL | title | publisher. WriteOut keeps only links that really appear in the research notes, so Claude can't invent one. Page preview shows the exact page that will be uploaded, and Research notes shows what Claude found.

Rewrite with Claude takes your notes ("shorter intro, add a comparison table") and rewrites the draft; tick Redo web research for fresh facts.

Publishing #

Approve & schedule publishes at the time you pick; Publish now publishes straight away. The Publish queue shows what goes live when. A post whose time passed while WriteOut was stopped publishes as soon as it starts again.

Each post is one standalone HTML page, uploaded to your site's URL pattern. It includes:

  • title, meta description, canonical, robots and language tags;
  • Open Graph and Twitter card tags, with published and modified times;
  • structured data: the article (author, publisher, dates, word count, section, keywords, image), breadcrumb and FAQ page;
  • a visible FAQ section and your sources.

Once a post is published its URL is locked, so live links never break. Republishing an edited post replaces the same page.

Without Site feeds, WriteOut also keeps its own writeout-sitemap.xml (submit it in Search Console once) and, if you set one, a simple blog index page.

Publishing it yourself #

Every post has a Download .docx button. The Word file has the article with its headings, lists, tables and links, then the FAQs and sources. A box at the top holds what your CMS needs and the article doesn't: SEO title, meta description, URL slug, keywords, category, label and featured image.

To publish posts by hand, pick I publish it myself as the site's platform, or use Publish it yourself instead on any single draft of a WordPress or static site. Then:

  1. Download the Word file and publish the post in your own system.
  2. Click Mark as published. Paste the live address if you have it, or leave it blank: the post shows as waiting to go live.
  3. WriteOut reads your sitemap every hour and after each breakout run. When the post appears (matched by its slug, or by its headline on a newly added page), it's linked to that address and marked as published by you.

From then on it's one of your posts like any other: it can be the target of an Update idea, and you can watch it as a developing story. Updates can't go live by themselves, since WriteOut doesn't publish this page: each one waits as an updated Word file starting with "What's new in this update". Change the live page, then click Mark update as applied, or WriteOut notices when your sitemap shows the page changed.

Reading the sitemap also tells WriteOut about everything else you publish, so ideas skip topics you've already covered. WriteOut never uploads, lists or edits a page you published yourself.

The assistant #

Assistant in the menu is a chat about everything in WriteOut. It looks things up in your sites' own data before answering, and links what it mentions so you can click through. Ask things like:

  • "What broke out in the last hour?" or "What did this morning's run find for KyunTrend?"
  • "Which posts are waiting for review?", "What's scheduled for today?", "Did anything fail to publish?"
  • "Write a draft on the top idea", or "Write a draft about jio ipo allotment for KyunTrend"
  • "Schedule post 12 for tomorrow at 9am", "Publish the gold post now", "Watch the Jio IPO post for 3 days"

Looking things up, starting a breakout run and writing a draft happen straight away; drafts still wait for your review. Anything that changes your live site (scheduling, publishing, cancelling a schedule, or watching a story with automatic publishing) only appears as a proposal with Confirm and Cancel buttons, and happens when you confirm. New chat starts a fresh conversation.

The assistant uses your Claude connection, so each question counts against your Claude plan or API usage like drafts do.

Sending drafts to Asana #

If someone on your team publishes posts by hand, WriteOut can hand each draft to them as an Asana task. Open the site, find Integrations and choose Set up next to Asana (the last step of the setup wizard links there too). Each site has its own settings:

  1. Personal access token. In Asana: your profile photo → Settings → Apps → Developer apps → Create new token. It's stored encrypted.
  2. Workspace, project and section. Each list fills in after the one before it. The section is optional.
  3. Assignee and due date. Both optional. The due date can be a number of days after sending, or the post's scheduled date.
  4. Automatic sends. Tick to send every new draft, and every update to a published post, as soon as it's written, whether you asked for it on a page, through the assistant, or a schedule did it.

Every post then has Send to Asana under Send it on. The task is named "Draft: headline" or "Update: headline", lists the SEO title, meta description, slug, category and keyword, links back to the post in WriteOut, and has the post attached as a Word file (see Publishing it yourself). The assistant can send posts too: "Send post 12 to Asana".

Sending goes one way. Asana doesn't change anything in WriteOut, so when the post is live, mark it as published on the post (or let WriteOut find it in your sitemap). Each send, and any error from Asana, is listed on the post and on the Asana settings page.

Writing guide and quality check #

Each site's Writing tab holds its writing guide: your tone of voice, style rules, post structures and sample posts as .md or .txt files. A Claude skill works as it is: upload its folder as a .zip and WriteOut takes every text file in it (data files like JSON and CSV are skipped, and identical files are added once). Claude follows the guide for every draft, update and improvement plan on that site. Instructions that need tools WriteOut doesn't have, like charts, databases or file paths, are skipped rather than faked, and internal links come from your live sitemap instead of any list in the guide.

The same tab sets the length of drafts and the quality check. When it's on, every new draft and update is checked for your banned words and phrases, AI-style patterns ("It's not X, it's Y", "Moreover,", "In conclusion,"), dashes used for emphasis, American spellings and sentences shorter than your minimum. Only the paragraphs with problems go back to Claude to be fixed, and the post shows what was found and fixed. The first guide you upload fills in the rules it states (its banned word lists, British English, sentence length); edit them as you like.

Autopilot and notifications #

Each site has an Autopilot setting (on the Overview) that decides what happens after every breakout run:

  • Notify only: strong breakouts are sent to you with a Draft button.
  • Draft, I approve (the default): strong breakouts are drafted straight away and sent to you with Approve and Skip. Approving puts the post in the next free publishing slot.
  • Full autopilot: drafts are scheduled into the next free slot without asking; you're told when.

"Strong" means priority 1–2 and a fit score of 70 or more by default, with at most 5 automatic drafts a day. Publishing slots default to 9:00, 13:00 and 18:00 with at most 3 posts a day. All of these are per site. Updates to developing stories follow the same mode, and skipping an update keeps the live version.

Notifications go to Telegram and to this browser or phone (set up under Notifications): strong breakouts, drafts and updates ready to approve, published posts, the next-day index result, and anything that failed, plus a morning summary of every site.

  1. Telegram: create a bot with @BotFather (/newbot), paste its token, then press Start in the chat WriteOut links to. Only that chat gets messages and only its taps count. /status sends the summary any time.
  2. Push: press Turn on notifications here on each device. On iPhone, first add WriteOut to the home screen (Share → Add to Home Screen) and open it from there. On Android and desktop, Approve works right from the notification.

The site dashboard #

Clicking a site opens its Overview: how it did in Google Search last week against the week before (clicks, impressions, click-through rate, average position, with eight weeks of trend), the top pages, wins and risks, optimization ideas, which recent posts are indexed, topic coverage with the biggest gaps, and what WriteOut did this week. The tabs next to it are Breakouts (runs, ideas, drafts, posts, site feeds and integrations, as before), Topics and Search Console.

Without Search Console connected, the Overview shows the breakout summary and a card to connect it.

Connecting Search Console #

Each site connects with a Google service account, a login made for apps. It takes about five minutes:

  1. In Google Cloud, pick or create a project and turn on Google Search Console API (APIs & Services → Library).
  2. Create a service account (IAM & Admin → Service accounts), open it, and add a JSON key. A file downloads.
  3. In Search Console, open the site → Settings → Users and permissions → Add user. Paste the service account's email and choose Full.
  4. In WriteOut, open the site's Search Console tab and upload the JSON file.

WriteOut finds the property that covers the site (a domain property covers its subdomains) and says exactly what's missing if something isn't set up. A Restricted user can read performance, but resubmitting sitemaps needs Full. The key is stored encrypted.

Search performance and improvement plans #

WriteOut stores each finished week (Monday to Sunday) once Google's numbers for it are final, three days later. The first connection fetches the last eight weeks. It keeps every page and the searches behind it, so you get a week-on-week history.

Six rules pick out wins and risks: striking distance (positions 11–20 with impressions), climbing this week, top performer, zero clicks despite impressions, position dropping and wasted ranking (top 20, many impressions, under 1% click-through). Each week the risks and striking-distance pages become Optimization ideas, at most three new ones a week.

Suggest improvements (on an idea, a page's performance view, or a post) has Claude read the page and its queries and write a plan: a better title and meta description, sections to add for real searches, FAQs, internal links to and from your other pages, and follow-up posts. For a WriteOut post, Turn into update rewrites the post with the plan; the old version is saved and the update waits for your review. For other pages, download the plan as a Word file.

Getting posts indexed #

When a post or an update goes live (published by WriteOut, marked as published, or found in your sitemap), WriteOut:

  • resubmits your sitemaps to Search Console;
  • pings IndexNow, which Bing, Yandex and others use, if you turn it on. It needs a small key file on your site: WriteOut uploads it for static sites on Hostinger, and shows you the file to add otherwise;
  • asks Search Console about the page about a day later, and every three days until it's indexed (for up to a month). The answer shows on the post and the Overview. Check now asks straight away.

Request indexing ↗ on a post (and next to posts not indexed yet on the Overview) opens that URL in Search Console's inspection page; click Request indexing there. Google has no API for that button, and allows about 10 requests a day per property.

WriteOut doesn't use Google's Indexing API: Google allows it only for job postings and livestream pages.

Topic clusters #

The Topics tab holds the site's topical map: pillars, clusters inside them, and post topics. Paste your own (headings for pillars and clusters, a list item per topic, the keyword after a bar: 1. Best callback timing for telecalling teams | KW: best callback timing), or let Claude build one.

Find new topics has Claude add gaps, judged against your pages, the searches you already appear for in Search Console, and your Notes for Claude (for example, landing pages a blog post mustn't compete with). Near-duplicates of existing topics are skipped.

Each topic shows whether a page on your site already covers it, or it's an idea, a draft, published, or a gap. Any topic can go to the ideas list or straight to a draft, and breakout ideas are tagged with the topic they belong to.

Site feeds #

A page that's only uploaded is live at its own address but listed nowhere: not on your home page, not in its category, not in your sitemap. Site feeds fixes that for sites made of plain HTML pages, whether you wrote them by hand or another tool generates them.

What it finds

The site scan maps every list of stories on your home page and category pages, and works out for each one:

  • how many stories it keeps: the newest 5, the newest 3 of a category, or all of them;
  • which category it's for, or every category;
  • whether it's a hand-picked list such as "Popular" or "Editor's picks", which starts switched off.

It also finds your categories and story labels ("How-to Guide", "Explainer"…), any "stories so far" count, and your sitemap.xml, news sitemap and RSS feed.

Turning it on

Use the wizard's Site feeds step, or Edit lists on the site page. Check the map, correct anything it got wrong, and tick Keep these lists updated when I publish. For each list you can:

  • untick it if it isn't a list of stories;
  • change how many cards it keeps (0 means all);
  • change which category it shows.

You also choose which of the sitemap, news sitemap and RSS feed to update. Your corrections are kept when the site is rescanned. Posts WriteOut published before you turned it on are added on the first sync.

What happens when you publish

  • The post goes into every list it belongs in, using a copy of your site's own card, in date order. A list with a fixed size drops its oldest card, and a lead slot's previous story moves down into the main list.
  • The story count goes up by one.
  • The post is added to the sitemap, the RSS feed, and the news sitemap if it's from the last two days.
  • Editing and republishing a post redraws its cards with the new headline and summary.

The site page's Activity log lists every change. Sync now runs the same check at any time.

Not for WordPress. WordPress and similar platforms build their own home page and category lists, so leave Site feeds off there. The wizard warns you when it detects one.

Working with another publisher #

If another tool also publishes to your site and rebuilds your home page from its own list of stories, each rebuild would drop WriteOut's stories from your feeds. Two things stop that:

  • A shared list. WriteOut keeps /writeout-stories.json on your site, listing its stories with their URL, title, summary, category, label, time and image. Tick Another tool also publishes to this site and the site page shows an instruction to give that tool, so its rebuilds include WriteOut's stories.
  • A safety net. Every 10 minutes WriteOut checks whether your home page changed. If it did, WriteOut puts back any of its stories that are missing, in date order. The other tool's stories are never removed, except where a list's fixed size means a newer story pushes the oldest out.

Developing stories #

When a trend is a new development in a story you've already published (a result, a confirmed date, a price change), the best move is usually to update that post rather than write a second one. WriteOut can do it from an idea, on demand, or on every run.

How a post is updated

WriteOut researches what has happened since the post was last updated, then Claude decides whether anything material is new. Rumours, rewording and the same facts from new outlets don't count. If something is new, Claude revises the post:

  • a dated update note at the top ("Update, 22 October 2026: …"), keeping the three newest;
  • facts that have changed corrected where they appear, and a new section for a big development;
  • the title, description, FAQs and sources refreshed only where the news makes them out of date.

The URL stays the same and the page's modified date moves. The update waits for your review: the live page doesn't change until you click Republish now or Approve update.

Watching a story

On a published post, open Developing story:

  1. Tick Watch this story for updates and choose how long: 1, 3, 7, 14 or 30 days.
  2. Tick Publish updates automatically if updates should go live without review.
  3. Click Save. Check for updates now runs a check straight away.

Every breakout run then checks the story, and tells Claude which of that run's trends match it. A check that finds nothing new is logged as "No new developments". For fast-moving stories, set the site's schedule to every hour. Watching stops by itself when the period ends. The site page lists every watched story.

History and earlier versions

The post page shows each check and what it found. Before every update WriteOut saves the previous version (the last 20 are kept); Restore brings one back for review.

Good to know. Only posts WriteOut published can be updated; another tool's pages are left to that tool. Each check uses a Claude research call and a writing call, so many watched stories on an hourly schedule add up against your Claude usage.

Safety and backups #

  • WriteOut never overwrites a page it didn't create. Each page it uploads carries an invisible marker. If a file already exists at a new post's address without that marker, publishing stops with an error.
  • Site feeds only edits inside your story lists. If anything else on a page would change, that page is skipped. A page is also left alone unless Hostinger returns it in full (checked against its exact size).
  • Every page Site feeds edits is backed up first and kept for 30 days. Restore any of them from Backups on the site page.
  • Previews can't act as you. Draft and theme previews run in a sandbox, so scripts from your theme or the draft can't use your WriteOut session.
  • Tokens are encrypted in WriteOut's database.

Your data and restarts #

Sites, runs, ideas, drafts, the schedule, backups and your encrypted tokens are all kept in WriteOut's data folder and survive restarts. The scheduler only runs while WriteOut is running. When it starts again:

  • a site whose scheduled run was missed runs once straight away (not once per missed slot);
  • an approved post whose time passed publishes straight away;
  • anything that was mid-way is marked failed ("Interrupted by restart") so you can run it again.

Troubleshooting #

You seeWhat to do
"Google Trends is rate-limiting this IP"Wait an hour or two, watch fewer keyword and window combinations, or set a proxy. See rate limits.
"Full Trending now list unavailable"Google changed its page data; the run used the RSS top 10 instead. Nothing to do, but let us know.
Scan failed, or the theme preview looks wrongPick a typical post under Theme source page in Settings and save, or use the built-in template.
"…already exists on the site and wasn't created by WriteOut"Another page lives at that address. Change the post's slug.
Site feeds shows a problem for a pageThat page was left untouched. If the site's layout changed, rescan and accept the new map under Edit lists.
A list on your site shows the wrong storiesRestore the page from Backups, then fix that list under Edit lists.
"No Claude connection is set up"Connect your Claude account or an API key on Claude connection.
"Update failed"The live post is untouched. Try Check for updates now again later.

Self-hosting settings #

If you run WriteOut yourself (one container; mount a volume at /data), these environment variables are available:

SettingWhat it does
ANTHROPIC_API_KEYClaude via an API key, instead of pasting one in the app.
CLAUDE_CODE_OAUTH_TOKENClaude via your Claude account on a server (from claude setup-token).
BR_MODEL / BR_CLI_MODELThe Claude model for API-key and Claude-account use.
BR_PROXYRoute Google Trends requests through a proxy.
BR_TRENDS_DELAYSeconds between Google Trends requests (default 6).
BR_TRENDS_MODEHow keyword lookups reach Google: stock (default), session or stock-only.
TZTime zone for schedules and publish times.
WRITEOUT_HTTPSSet to 1 behind HTTPS, so the sign-in cookie is HTTPS-only.
FORWARDED_ALLOW_IPSThe reverse proxy's addresses, trusted for the visitor's real IP.
BR_DATA_DIRWhere the database, backups and encryption key live.

Create the owner account from the server's shell with python -m app.auth set-owner <name>; creating it from the sign-in page only works on the machine itself. Back up the data folder as a whole: without its .secret.key, saved tokens can't be decrypted and have to be pasted again.

Something unclear or missing? Email us from the address you requested access with. · WriteOut home