Sites built with AI

The site is yours. The copy on it could be anyone's.

CopyRefresh takes the draft your coding agent wrote, the spec you wrote for it, and a note about how you want to sound, and gives you back copy that says something specific. Marked up, with a reason attached to every change.

Why it reads that way

The copy doesn't know anything about your product.

A model reaches for “empowers teams to unlock their full potential” when nobody has told it what the thing does. That isn't laziness. It has a paragraph to fill and no facts to fill it with, so it writes the most generic true sentence available and moves on to the next one.

Which is why rewording doesn't fix it. Change every word in that sentence and you have a differently-worded sentence carrying the same nothing.

The specifics do exist — you wrote them down when you told the agent what to build.

What it does

Hand it what you already wrote.

01

The spec

The README, the PRD, the brief you handed the agent. Unstructured is fine; nothing needs reformatting first.

This is where the sentences get their facts back.

02

How you want to sound

A paragraph in your own words, or a few pieces of writing you'd want to be compared to.

That becomes a Voice Profile, and you write it once.

03

The draft

Whatever the agent produced, exactly as it came out.

A hero section and a docs page go through the same process.

app/(marketing)/page.tsx · Voice Profile: ramin v3 Reviewing

Stage

  • Draft
  • Refresh
  • Review
  • Ship
  • Translate

Our platform empowers modern teams to seamlessly streamline their workflow. Whether you're a solo founder or a growing startup, we're here to help you unlock your full potential.

Built by developers, for developers. Trusted by teams who demand the very best from the tools they rely on every single day.

This edit

Reason
Says nothing
Rule
Name the mechanism
Source
spec.md, line 41
Profile
ramin v3

Your spec says it collapses duplicate webhook retries. That's the sentence.

A drawing of the review screen, not a screenshot.

Your file comes back with the changes marked where they happen. Each one carries the rule behind it, and where the rewrite used a fact, the line in your spec it came from.

Where the draft claims something your spec doesn't support, the claim gets flagged and left alone rather than filled in with a plausible number. A rewrite that changes a number counts as a bug, and it's the one we test hardest for.

Across projects

Write it once. Use it on the next one.

A rules file does part of this already. If you keep one current, you're most of the way there, and plenty of people should stop reading here.

Two gaps it doesn't close. It steers the model while the copy is being written and then nothing checks what came out, so a rule you care about can be ignored without anybody finding out. And it belongs to one repo. The project after this one starts from nothing again.

A Voice Profile is a document you keep. Every correction you make on this site is still there on the next one.

Where it runs

What works today, and what doesn't yet.

The repo version is in the beta. The CLI reads the copy out of your source and hands back a diff you review like any other change. The web app is there for the copy that doesn't live in a repo.

In beta

Web app

Paste, import, refresh, review, export.

In beta

CLI + GitHub Action

Lint marketing copy and docs in the pull request, like a formatter.

Next

API

One endpoint: text in, marked-up text out.

What else you could do

Most of these are reasonable.

The team-shaped alternatives (Grammarly, Writer, a style guide) are handled on the comparison page. These are the ones that come up when the draft was written by an agent.

Prompt the agent harder

Free, already open, and worth trying before you try us. What you get back is a better draft and nothing else. The prompt lives in your head, or in a chat you'll close. The next repo starts from a worse version of it, and nothing tells you which of your instructions the model ignored.

A rules file in the repo

CLAUDE.md, .cursorrules, whatever your agent reads on the way in. It's the closest thing to this that already exists, it's free, and somebody disciplined about keeping it current doesn't need us.

We'd lose that person, and the two gaps are the ones described above: nothing verifies the output, and nothing carries across to the next project.

v0, Lovable, a starter template

Placeholder copy, which is correct for a scaffold and wrong to deploy.

Hiring a copywriter

For the one site carrying a launch, do this. Days of turnaround at a per-word rate is the right price for a page your business depends on, and it isn't something anyone arranges for a fourth side project.

“AI humanizers”

This is the page where people ask, so here is the answer. A humanizer swaps words until a classifier changes its mind. The information in the sentence never moves, so the copy still says nothing and now says it more strangely.

We're pointed at a different question, which is whether a reader finishes the paragraph knowing what you built. We won't build the other thing, and we turn down the people who write in asking for it.

Shipping it as it is

The honest default, and for a throwaway project it's the right call. What it costs on anything else is the one advantage a new site has, which is a stranger's willingness to believe somebody is behind it.

Where we'd lose

When this is the wrong tool.

  • The one site carrying a launch. Give that page to a writer, and we'd say so on a call before we said anything else.
  • If you haven't decided what the product does yet, the spec you hand over will be thin, and a thin spec produces a rewrite that comes back polished and still empty.
  • Copy that isn't in English. The beta is tuned and tested for English. Other languages will run, but the word list is much thinner and the rhythm checks are shaped around English, so treat what comes back as rough. Keeping one voice across a translation is on the roadmap.
  • Anyone trying to move a detector's number, whether for a class, a client or a marketplace. We don't tune for that and won't start.

The short version

Your agent built the site. It shouldn't also get to decide how you sound.