Client feedback that ends in a commit

Your clients send change requests through a private link. You approve them. Claude Code picks them up one by one, screenshots and all, and fixes them.

free · self-hosted · your data stays in your database

How it works

  1. 01

    Send a private link

    Every project gets its own secret URL. Your client opens it and starts writing — no account, no password, nothing to install.

  2. 02

    They describe the change

    A title, a description, and up to ten screenshots. They can see every request they've filed and where each one stands.

  3. 03

    You approve or reject

    Everything lands in one queue. Approve what's real, reject what isn't, and set a priority so the important things go first.

  4. 04

    Claude Code does the work

    In your repo you say “get the next issue.” Claude pulls the top approved request — with the actual screenshots — fixes it, and marks it done.

The part that saves the time

Claude Code works the queue itself

The app ships an MCP server. Connect it once, then work in plain language — Claude fetches the next approved request, sees the screenshots your client attached, makes the change, and writes back what it did.

> get the next issue

Claude claims the highest-priority approved request, moves it to in progress, fixes it, then marks it donewith a note. Your client’s page updates while they’re looking at it.

Five tools: list issues, get the next one, get one by id, change a status, leave a comment. Each key reaches only its owner’s projects.

What you get

Your own workspace

Sign up and you see only your projects. One deployment can serve a whole studio without anyone seeing anyone else's clients.

Invite collaborators

Add teammates to individual projects. They work the queue and set their own repo path; you keep control of the client-facing bits.

Screenshots Claude can see

Uploaded images come back to Claude Code as real image blocks, not filenames — so “the button is misaligned here” actually means something.

Email when it matters

New submissions, status changes, and replies notify whoever didn't cause them. Per-project mute if a project gets loud.

The client stays in the loop

Their page updates live. When something's done they can accept it, or send it back with a note — no email thread to lose.

Runs on one SQLite file

No queue, no Redis, no third-party email API. Point it at a data directory and back that up. Self-host it anywhere Node runs.

Every request, one path

pendingassignedin progressdoneaccepted

You can reject a request, Claude can stop and ask the client a question, and anything marked done can be sent back for another pass. Nobody has to guess where a request stands.

Start with one client.

Create a project, send the link, and see what comes back. It takes about a minute.

Create your workspace