The review kit

An internal tool I built at Now We Collide in 2026, and it’s in use on client projects now. Clients leave comments on the page itself, and an agent reads them, sorts them, and asks before it changes anything.

Review kit

Click anywhere to leave a comment.

An internal tool made for Now We Collide.

3client projects
15+rounds of feedback
400+comments left

What it is

Installs and uninstalls

A commenting layer that drops onto a React or plain HTML site for the review, and comes off again when it ships.

Readable by agents

Comments live in a database an agent can read, so it can make the edits for you rather than waiting on a hand-written list.

Rounds and options

Move between rounds of feedback and between design options without leaving the browser.

What the agent can do

Full context, not a selector

An agent reads the component, its text, its layout and where it sits on the page, so it knows exactly what the comment is about.

Answers questions

Clients ask things as well as request changes. The agent drafts a reply for a human to approve.

Actions feedback, with gates

It implements what it can and stops where it should. The harder the change, the more it has to ask first.

Review kitNow We Collide

The real kit, running on a page about itself. Hover to see what a comment would attach to, click to leave one, or switch design options in the bar. Nothing you write here is saved.

What the review kit is

  • A commenting layer that installs onto any site being reviewed. Works with React or plain HTML, and comes off again just as easily.
  • A nav bar for switching between design options.
  • Commenting that works by clicking anywhere on the page, stored in a database.

Feedback all in one place

Feedback used to be scattered. Now it is centralised.

Before

  • Outlook4
  • Microsoft Teams3
  • Slack2
  • Figma6
  • Zoom
  • Otter
  • Microsoft Word1
  • Adobe Acrobat

With the review kit

12Comments, on the page itself

Feedback is consolidated. Instead of someone compiling it out of emails, messages and meetings, clients, colleagues and stakeholders all leave their comments, questions and feedback on a preview of the site. That streamlines getting it implemented, and because an agent can read it, it drops into an AI workflow rather than sitting outside one.

Nobody asked me to build any of this. Feedback was scattered, so I added commenting to the page. It was popular with clients and colleagues, so I turned it into an installable kit we could reuse. Then I wrote the setup instructions into the kit itself, so an AI can install it for anyone who isn’t technical.

What a comment stores

A comment saves a lot more than the text you type. It also records what you clicked on, what section that was in, and what was next to it.

What the client sees

Reviewer 104/08/2026, 09:12, desktopon the heading “Click anywhere to leave a comment.”

Can this say “Click anywhere on the page to comment”? Bit clearer.

EditReply…Resolve
1

What the agent reads

# the commentbody"Can this say “Click anywhere on the page to comment”? Bit clearer."author"Reviewer 1"created"2026-08-04 09:12"status"open"
# what it was left ontag"h1"role"heading"text"Click anywhere to leave a comment."size612 x 96
# what is above itlandmark"section"heading"Click anywhere to leave a comment."
# what is beside itnearest"An internal tool made for Now We Collide."direction"below", 38px
# where in the projectpage"/home"option"1"device"desktop"

Why it stores this much

The agent reading these comments can’t see the page, so it has no idea what a comment is referring to. All the relevant context about the thing being commented on gets passed in with it. A CSS selector tells the agent where something sits in the markup, but not what that thing is, so the comment records the element, its text, the heading above it and the nearest thing to it.

Resolved comments get marked resolved rather than deleted, which stops the agent working on the same comment twice and lets it see what earlier rounds already changed, so it stops undoing its own work between runs.

How the agent actions each comment

Comments vary a lot. Some are a typo fix, some are a real design decision. The agent puts each one into one of five groups, and it only acts on its own for the simplest.

  1. Reviewer 1Can this say “Click anywhere on the page to comment”? Bit clearer.
    Small change

    Copy, spacing or colour. There is nothing to decide, so it makes the change.

  2. Reviewer 1Should this say “Try it” instead of “Get started”? Happy either way.
    Quick change

    Simple to do, but it needs a yes or a no from me first, so it asks.

  3. Reviewer 2These three all feel equally important. Can the middle one lead?
    Big change

    A real design decision. It writes up to three ways to do it, says which one it would pick, and waits.

    What it comes back with
    • Make it taller, with a heavier border, all three the same width.
    • Add a label to it and fill its background.
    • Put it first, so people read it before the other two.

    Recommendation. Option 2. Smallest change, and it says why that card matters rather than just making it louder.

  4. Reviewer 2How do we edit these cards once the site is live?
    Question

    The client is asking something rather than requesting a change. It drafts an answer for me to check, and the comment stays open until someone has replied.

    Drafted reply. Each card is a CMS entry, so you can edit the icon, heading and text yourself once we hand over. Adding or removing a card is a layout change, so send those our way.

    The agent drafts the answer. I check it before it goes to the client.

  5. Reviewer 1this bit feels off
    Unsure

    This could mean the spacing, the copy or the numbers. It says it does not know, and leaves the comment alone.

I didn’t think about this going in, but most of the decisions above are about making the tool work for an agent rather than a person: what it can read, what it might get wrong, and what it needs to remember between runs.

The review kit

An internal tool I built at Now We Collide in 2026, in use on client projects. It installs onto any site that is being reviewed and adds a landing screen showing the site is a draft, a bar for switching between design options, and commenting that works by clicking anywhere on the page. There is no login. Each design option keeps its own comments.

Feedback all in one place

Feedback used to arrive across Outlook, Teams, Slack, Figma, Zoom, Otter, Word and Acrobat. Now it is centralised: clients, colleagues and stakeholders leave comments, questions and feedback on a preview of the site, which streamlines getting it implemented and lets an agent read it as part of an AI workflow.

Nobody asked me to build any of it. Feedback was scattered, so I added commenting to the page. It was popular with clients and colleagues, so I turned it into an installable kit we could reuse, and wrote the setup instructions into the kit itself so an AI can install it for anyone who is not technical.

What a comment stores

Each comment records the element you clicked, its role and visible text, its size, the section heading above it, the nearest thing to it with a direction and a distance, plus who left it, when, which page and which design option. The agent reading it cannot see the page, and a selector says where something sits in the markup but not what it is. Resolved comments are marked rather than deleted, so the agent does not work on the same comment twice and can see what earlier rounds already changed.

I had only run it on client comments, so I tried it on seventeen of my own. It found a rendering bug and told me what was causing it. I added that context so the agent would know what people were pointing at, and it turned out to be useful for debugging too.

How the agent actions each comment

Five groups. A small change is copy, spacing or colour, with nothing to decide, so it makes the change. A quick change is simple but needs a yes or no first. A big change is a real design decision, so it writes up to three ways to do it, says which it would pick, and waits. A question is the client asking something rather than requesting a change, so it drafts an answer for me to check before it goes back to them. Anything it cannot read confidently is flagged and left alone.

Most of the decisions here are about making the tool work for an agent rather than a person: what it can read, what it might get wrong, and what it needs to remember between runs.