Backstory
An agent that refreshes old posts
- Share a blog post, and the agent reads it block by block, checks it against search, AI overviews and competitors, and suggests what to update. You review, then publish the refreshed post.
- We built it as a team. I owned the frontend: setting up the editor, designing how review works, and keeping suggestions in sync with the post.
The brief
A lot to fit beside a post
-
Many controls
Approve, reject, feedback, locate and undo, on every suggestion.
-
Many suggestions per block
One paragraph can have three, from different sources.
-
State in sync
Act on a suggestion, and the post and the counts follow.
-
One view
The post and its review side by side, never a separate page.
Phase 1 · the prototype
Would people want this?
- We first built it to test the demand, not to ship. It wore the orange theme Strive had then.
- It showed people wanted it. It also showed what made review tiring.
- A sparkle per suggestion. Buttons on the block’s edge, stacked when a block had more than one.
- A popover over the text. The change you were judging hid the words it was about.
- Every block in yellow. With suggestions on most blocks, the highlight stopped meaning anything.
- The same cards, twice. The panel repeated the popovers: two places to act, two states to keep in sync.
Phase 2 · the redesign
The post is the review
- Once the demand was clear, I redesigned the review: suggestions sit on the text they change, and one panel holds every action.
1
2
3
3
4
5
- Block types in the gutter.
p,h2,table: the post as the agent reads it. - A dotted underline. Quietly marks text with suggestions, without tinting the whole post.
- Card and block, in sync. Select a card and its block lights up, with the exact phrase in orange. The eye scrolls to it.
- Open and Resolved. Counts that move as you act, and a filter.
- Where it came from. Each suggestion shows its source: search, AI overviews, competitors and more.
Beyond suggestions
Ask for what the agent missed
- People wanted changes the agent didn’t suggest. So any block takes a comment, and the agent works it in with the rest.
1
2
3
- Any block. Paragraphs, headings, lists, tables too.
- A comment button on hover. Out of the way until you point at a block.
- Feedback on block. Beside the block, not over it.
States
Every click says what happened
- Open
- Feedback, if any
- Approved or rejected
- Undo
- Once you act, a card shrinks to your feedback and its state, with Undo right there. A toast confirms it.
Before · after
Same job, calmer page
Before
After
What dried
What I’d keep
-
LessonA suggestion belongs on its text, not on a button floating beside it.
-
LessonOne place to act. Two places means two states to keep in sync.
-
LessonWhen every block is highlighted, nothing is.
Every suggestion, one place to act.