Visual feedback for people who don't file tickets

Let your client just point at the thing.

Blipmark is a 10KB widget you drop into any site. Your client clicks whatever's wrong and says what's wrong with it. You get the screenshot, the selector, the breakpoint and the path they walked to get there — and they never have to make an account, learn a tool, or be told what a console is.

10KB widget No account for reporters Runs on a cheap VPS Your data, your server

01 — Have a go

This is the widget. Click anything in the bakery.

Not a video, not a screenshot of a video. The real interaction, running here on a pretend client site. Nothing you do leaves this page.

northwindbakery.com/home

Sourdough, twice a day.

Baked at four in the morning and out of the door by noon. We keep a list for the loaves that never make it as far as the shelf.

Order a loaf

Collection only. Wednesdays we are shut, and we are not sorry about it.

hero-photo.jpg
Journey
/home

All of that is the real behaviour: select mode, the pin, the breakpoint stamp, the thread, the unread dot, and the reporter's own done and delete. The only thing missing is your site.

02 — Why this exists

Nobody is bad at bug reports. They're just not sitting at your screen.

Your client is describing a page they can see and you can't. That's the whole problem, and it isn't fixed by asking them to be more technical. It's fixed by letting them point.

Thursday, over email
  • Clientthe button doesn't work16:12
  • YouWhich button?16:14
  • Clientthe orange one16:51
  • YouOn which page?16:52
  • Clienton my phone21:20
  • You…which phone21:21
Five hours later, still nothing you can act on.
The same person, through Blipmark
#14Open

The button disappears when I scroll — I only ever see half of it.

Element
button.order
Viewport
390px · mobile
Page
/home
Came from
/ → /standing-orders → /home
Reporter
[email protected]
One click from them. Everything you need, from them.

03 — What's in it

Nine things, and not a fourteenth dashboard.

Blipmark does one job. Everything below is here because a QA round falls apart without it — nothing is here to fill out a comparison table.

Click-to-pin on any element

They point at the thing. The pin belongs to that element, not to a vague spot somewhere on a screenshot.

The screenshot, taken for them

Captured automatically at the moment they complain: exactly what was on their screen, not what's on yours now.

Pins know their breakpoint

A pin left at 390px arrives labelled mobile. It settles "works on my machine" before anyone says it.

Threads, with unread badges

Reply where the report lives. They read it in the widget; a blue dot tells you who is still waiting on you.

The journey trail

The pages they walked before they hit the problem. Half your reproduction steps, already written down.

Numbers people say out loud

Per project, sequential: #1, #2, #3. "Have you seen twelve yet?" is a sentence that works on a call.

Everyone sees their own lane

The team sees every report. Each reporter sees only theirs — so two clients on one site never read each other's notes.

They can close their own

When the reporter agrees it's fixed, they mark it done themselves — or delete it once they realise it was their cache.

Self-hosted, plainly

It runs on your server, beside whatever else is on there. Screenshots of a client's unreleased work stay on hardware you rent.

04 — Two people, two views

Only one of you is technical. Only one of you should have to be.

Your client sees
  • A small disc in the corner. That is the entire interface until they touch it.
  • One email field, once. No password to forget, no invite to accept, no seat to buy.
  • Their own reports and your replies to them. Nothing else, from anyone else.
  • A done button, because they're the only one who can really confirm it's fixed.
You see
  • Every report from every reporter, in one dashboard, numbered.
  • Selector, viewport, URL, journey, screenshot — attached before you thought to ask.
  • The violet pin that takes you from the widget straight into the dashboard.
  • Unread dots, so a round of QA ends when they're gone rather than when you're tired.

05 — The arithmetic

Your data sleeps at home.

Nobody minds paying for software. What grates is paying every month, per seat, forever, for something you could host beside your own staging site — and handing a client's unreleased screenshots to someone else's database while you're at it.

Seat-based SaaS

$480 / year

$40 a month. Every month. Project or no project.

  • Priced per seat, so the team grows and so does the bill
  • Client screenshots live on somebody else's infrastructure
  • Stop paying and the history goes with it

Blipmark

Your VPS

The one you already pay for. A cheap box runs it comfortably.

  • Reporters aren't seats — invite as many clients as the project has
  • Screenshots and comments sit in your own database
  • The archive is still yours the day the project ends

06 — Getting it running

Three steps, and one of them is copy-paste.

If you've deployed anything to a VPS before, you already know how to do this. If you haven't, this is a very reasonable first thing to deploy.

01

Put it on your server

Blipmark is a small self-contained app. Point it at a domain you control — feedback.yourstudio.com is the usual shape — and let it share a box with your staging sites. It is not a hungry thing.

02

Create a project, copy the tag

One project per client site. Each gets its own key and its own #1, so bug numbers never collide between clients.

index.html
<script
  src="https://feedback.yourstudio.com/widget.js"
  data-project="northwind"
  defer></script>
03

Send your client the link. That's the training.

Tell them: open the site, click the little circle, click the thing that's wrong, type what's wrong with it. There is no second sentence. You'll spend longer writing the email than they'll spend learning it.

07 — The things you were about to ask

Fair questions.

Does my client really not need an account?

Really. They give an email address once, so the thread has somewhere to go and so you know who said it. No password, no confirmation link, no seat on anybody's plan.

What if they aren't technical at all?

That's the case it's built for. They never see a selector, a breakpoint or a URL — the widget collects all of that quietly while they type one sentence in plain language. The technical part lands on your side, which is the only side where it's useful.

Will it slow the site down?

It's a 10KB script, loaded with defer. Until somebody clicks the launcher it renders nothing and takes no screenshot.

Where do the screenshots actually go?

Onto your server, into your database. That is the whole point of the self-hosted part: nothing about a client's unreleased site passes through anyone else on the way.

Two clients are testing the same site. Do they see each other?

No. Visibility is role-based — your team sees everything, and each reporter sees only their own reports with your replies. Two clients on one project stay in separate lanes without you configuring anything.

Can a reporter close something themselves?

Yes, and they should. They're the one who can see whether it's genuinely fixed on their phone. They can mark their own items done, or delete them outright when it turns out the page just needed a reload.

Your next QA round starts on Monday.

You can spend it asking which button, or you can spend it fixing the button. The widget takes an afternoon to stand up and pays for itself the first time a client sends you a pin instead of a paragraph.