Features

Hemingway is not a chat interface for your copy. It's a context-aware editing layer that lives on your actual page and writes back to your actual files.

It finds what's editable. You don't have to tell it.

Hemingway walks the DOM and outlines every editable text element on your page — headings, paragraphs, buttons, links, list items, labels. It re-discovers editable elements whenever the DOM mutates, so it stays in sync as your framework re-renders.

Every element knows what it is.

Each selected element gets classified by its copy job before any generation happens:

  • primary-headline — the main H1
  • secondary-headline — H2 and H3 headings
  • section-opener — first paragraph in a section
  • body-copy — supporting paragraphs
  • cta-label — buttons and CTA links
  • nav-label — navigation items
  • feature-point — list items
  • eyebrow — short text above headings
  • testimonial — quoted social proof
  • footer-copy — footer text and links

It knows where you are on the page.

Hemingway detects the section role of every element — not just its tag type, but where it lives in the page's narrative structure. Suggestions for a hero headline are written differently than suggestions for a pricing section CTA.

Section roles: Hero · Problem · Solution · Features · Social Proof · Pricing · CTA · Footer

Claude doesn't get a string. It gets a brief.

Before every generation, Hemingway builds a full page brief and includes it in the prompt:

  • Page title and primary goal
  • Core promise and target audience
  • Narrative stage (opening / middle / closing)
  • Section flow — all section roles in order
  • The element's copy job and section role
  • Your style guide and copy bible (if configured)
  • Your style preferences learned from past picks

Rewrite a heading and its body copy together.

Hold Cmd (Mac) or Ctrl (Windows) and click up to 5 elements. Hemingway treats the selection as a coherent set and generates alternatives that work together — so your headline and the paragraph beneath it don't feel written by different people.

Sometimes you know exactly what you want to say.

Double-click any text element to edit it directly in the browser. Press Enter or click away to commit. The change writes back to your source file just like an AI-generated alternative would.

Changes land in your files, not just your browser.

When you apply a change, Hemingway searches your source files for the original text using heuristic matching — handling HTML entities, curly quotes, and whitespace variations. It scores candidates by tag name, CSS classes, and surrounding context to pick the right location. If the match is ambiguous, it asks for confirmation. If it can't find a match, it copies the new text to your clipboard as a fallback.

It gets better the more you use it.

Every time you pick an alternative, Hemingway records which one you chose and labels it across three axes: Clarity, Specificity, and Conversion orientation. After around 10 picks, the pattern becomes meaningful and gets included in future generation prompts. The more you use it, the more it sounds like you.

Your brand voice, in every prompt.

Point Hemingway at your brand style guide and copy bible via config. Both documents are included in every generation request — not summarized, not chunked, included in full — so Claude follows your voice, terminology, and conventions without you having to re-explain them.

// hemingway.config.mjs
export default {
  styleGuide: "./docs/brand-voice.md",
  copyBible: "./docs/copy-bible.md",
}

Yours to configure.

Key settings available in hemingway.config.mjs:

  • model — which Claude model to use
  • shortcut — keyboard shortcut to toggle the overlay
  • accentColor — overlay UI accent color
  • sourcePatterns — glob patterns for write-back file discovery
  • styleGuide — path to brand voice doc
  • copyBible — path to copy bible
  • referenceGuide — additional reference doc for generation

Ready to try it? See the installation guide →