Wordtune's loop is: select a sentence, see several rewrites in different tones and lengths, click one to swap it in. That is one prompt to any language model plus a small browser extension, and an agent can build both in a session, with a local page for longer text. The model costs a few cents a day on a pay-per-token API, or nothing on a local one. The weak spot is rich editors: swapping a selection works in plain text boxes and most editable fields, but Google Docs draws text on a canvas and stays out of reach.
Before you buildWordtune Basic is free at 10 rewrites a day, and Apple Writing Tools is built into supported iPhones and Macs. Try those before building.
Build me a rewrite helper to replace Wordtune. Requirements:
- Node.js 22 + TypeScript in one repo: a Fastify server on http://127.0.0.1:4720 and a Chrome
extension (Manifest V3, built with Vite and `@crxjs/vite-plugin`). `npm run build` writes the
extension to ./extension, ready to load unpacked.
- POST /rewrite takes text, a mode (casual, formal, shorter, longer, clearer) and a count
(default 5, max 8). It calls the OpenAI-compatible endpoint in .env (LLM_BASE_URL, LLM_MODEL,
LLM_API_KEY; Ollama works) with a JSON schema, and returns distinct options that keep names,
numbers and quoted text unchanged. Refuse inputs over 3,000 characters.
- Selection toolbar: select text in a textarea, input or contenteditable field and a small
button appears. Clicking it opens a popover with the options and a mode switcher; choosing
one replaces the selection (`setRangeText` for inputs, `document.execCommand("insertText")`
for contenteditable) and fires an `input` event so Gmail and LinkedIn notice. Esc closes it.
- Summarize: a right-click entry on a selection returns 5 bullets in a popover, using the same
endpoint and trimming the text to 12,000 characters.
- Editor page at /: paste longer text, rewrite it paragraph by paragraph with a word-level diff
(`diff` package) and accept or reject each change. History goes to better-sqlite3 at
./data/history.db with a clear-all button.
- Options page: server URL, default mode and a per-site disable list in chrome.storage.local.
- Single user. No accounts, no telemetry. Text goes only to your server and from there to the
LLM endpoint you set; the server binds to 127.0.0.1 and accepts chrome-extension:// origins.
- Out of scope: Google Docs, Word, phone keyboards, grammar underlining while typing.
- README: loading the unpacked extension, the .env keys, exactly what is sent to the model, and
a warning that custom editors such as Slack or Notion may need a paste fallback.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Wordtune.
Extend the rewrite helper in this folder. Requirements: - Add a Voices page: paste up to 5 writing samples per voice and name it (for example "work email"). The server asks the model once for a 6-line style note per voice and stores it in better-sqlite3. - Add the voices to the mode switcher; a voice mode puts its style note in the system prompt. - Show the style note so it can be edited by hand, and never send the raw samples again after the note exists. - Update the README.
Add shortcuts to the rewrite helper in this folder. Requirements: - A Chrome command (default Alt+R) that opens the popover for the current selection, plus the digits 1 to 8 to apply an option and Tab to cycle modes. - Remember the last mode per site in chrome.storage.local. - If nothing is selected, rewrite the current sentence around the cursor in a textarea. - Update the README with how to rebind the key.
Extend the rewrite helper in this folder. Requirements: - Add an optional LanguageTool server at LT_URL (a docker compose file included, port 8010). - Before rewriting, send the text to LanguageTool, apply replacements it marks as certain, and list the others as suggestions in the popover. - If LT_URL is unset or unreachable, skip the step silently and say so in the options page. - Update the README.
A rewrite option that appears beside the sentence in the tools people already write in, with no copying to and from a chatbot. The model behind it is not the draw; staying on the page is, and an unlimited plan means never thinking about a daily quota.
Estimate · A local Ollama model costs nothing; a hosted small model costs a few cents a day at personal volume. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Basic | $0 | $0 | 10 rewrites and AI suggestions a day, 3 AI summaries a month, unlimited spelling and grammar checks. |
| Advanced | $13.99 | $6.99 | 30 rewrites and AI suggestions a day, 15 AI summaries a month, unlimited AI recommendations, spelling and grammar checks. |
| Unlimited | $19.99 | $9.99 | Unlimited rewrites, AI suggestions and summaries, plus vocabulary, clarity and fluency improvements and premium support. |
| Business | custom | — | Business support, SAML SSO and centralized billing. |
Basic is free: 10 rewrites and AI suggestions a day, 3 AI summaries a month and unlimited spelling and grammar checks.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $13.99 a month on the Advanced plan, $167.88 a year (checked 2026-10-19).
Rewriting inside Google Docs and Spices, the feature that adds context to a sentence; Page and video summaries beyond the plain-text summary you build; The iOS app and store-listed Chrome and Edge extensions that update themselves; Spelling and grammar checks as you type, with underlines; Business features such as SSO and central billing. If any of those matter to you, keep paying.
Yes: Writing Tools (open source), Page Assist (open source), LanguageTool (open source).