01
Add a comment,
right there
Describe your feedback, attach a screenshot, mention a teammate, and it stays pinned to that exact spot.
Click anywhere on your web app or site to leave a comment. Your team, or your AI agent, gets it with a full replay of what happened.

demo.usequality.app
Invoices
New
Amount
Issue date
Due date
Used by teams at
01
Describe your feedback, attach a screenshot, mention a teammate, and it stays pinned to that exact spot.

287
Ayomidé.
02
Threads are shared, not siloed. Everyone on the project sees what's already been raised on a page, replies inline, or reacts.

I feel like there has to be a primary action here for them to make.
Yeah, i think so as well.
We could say “New” with a plus icon.
287

00:00
00:46
Comments
Console
Actions
Network
Ayomide Daniel1h
So i think this button can be better. What do you think? i feel like there has to be a primary action here.

Pariola Philip4m
Yeah, i think so as well, but what could the CTA be?
Bode Slo4m
Uhmm, what if we could say “New” with a plus icon.
@Ayomide Daniel, you can rethink it if this doesn’t make sense.
Reply...
POS-240
Playback
Every comment includes a replay of the moments before it was left. See the clicks, scrolls and page changes that led to the bug.
Every comment includes a replay of the moments before it was left. See the clicks, scrolls and page changes that led to the bug.
287

00:00
00:46
Comments
Console
Actions
Network
Ayomide Daniel1h
So i think this button can be better. What do you think? i feel like there has to be a primary action here.

Pariola Philip4m
Yeah, i think so as well, but what could the CTA be?
Bode Slo4m
Uhmm, what if we could say “New” with a plus icon.
@Ayomide Daniel, you can rethink it if this doesn’t make sense.
Reply...
POS-240
Playback
287

00:00
00:46
Comments
Console
Actions
Network
Ayomide Daniel1h
So i think this button can be better. What do you think? i feel like there has to be a primary action here.

Pariola Philip4m
Yeah, i think so as well, but what could the CTA be?
Bode Slo4m
Uhmm, what if we could say “New” with a plus icon.
@Ayomide Daniel, you can rethink it if this doesn’t make sense.
Reply...
POS-240
Playback
Every comment includes a replay of the moments before it was left. See the clicks, scrolls and page changes that led to the bug.
Comments
Console
Actions
Network
0:00
Playback started
0:00
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
@multi-tabs.js:180:10
0:10
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:15
Uncaught TypeError: safeAwait is not a function or its return value is not iterable
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:20
TypeError: Cannot read properties of null (reading ‘time’)at errorFunction (chrome-extension:/
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:30
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:30
Playback ended
Console errors and network requests are captured alongside the replay and lined up with it. Find the failed call without opening DevTools.
Console errors and network requests are captured alongside the replay and lined up with it. Find the failed call without opening DevTools.
Comments
Console
Actions
Network
0:00
Playback started
0:00
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
@multi-tabs.js:180:10
0:10
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:15
Uncaught TypeError: safeAwait is not a function or its return value is not iterable
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:20
TypeError: Cannot read properties of null (reading ‘time’)at errorFunction (chrome-extension:/
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:30
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:30
Playback ended
Comments
Console
Actions
Network
0:00
Playback started
0:00
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
@multi-tabs.js:180:10
0:10
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:15
Uncaught TypeError: safeAwait is not a function or its return value is not iterable
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:20
TypeError: Cannot read properties of null (reading ‘time’)at errorFunction (chrome-extension:/
@chrome-extension://ilnegmapjjdfmlnmohkbcjeapbhnfgln/recording.js:5795:27
0:30
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience.
@chrome://extension:toolbar.js:50:10
0:30
Playback ended
Console errors and network requests are captured alongside the replay and lined up with it. Find the failed call without opening DevTools.
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
A timestamped log of every click, input and navigation. Jump to any action and the replay jumps with it.
A timestamped log of every click, input and navigation. Jump to any action and the replay jumps with it.
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
0:00
Playback started
0:00
Navigated to chrome://new-tab-page/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via typing in the address bar
0:01
Navigated to https://www.posthearts.app/ via History API
0:10
Clicked <p>
0:12
Clicked <div class=”h-full flex items-end”>
0:13
Clicked <span class="truncate">
0:13
Navigated to https://www.posthearts.app/ via History API
0:14
Clicked <button type="submit" class="active:!scale-[0...">
0:14
Navigated to https://www.posthearts.app/ via History API
0:15
Clicked <img class="rounded-[5.38px] w-full h-full o...">
0:18
Clicked <div id="letter-view-pape..." class="papers">
0:20
Playback ended
A timestamped log of every click, input and navigation. Jump to any action and the replay jumps with it.
Not all feedback is an issue. Create one when needed.
Thread
Elijah Kingson
1h
I feel like there has to be a primary action here for them to make.
Ayomide Daniel
30m
Yeah, i think so as well.
Alex Idua
30m
We could say “New” with a plus icon.
Ayomide created a Linear issue QUA 23
12m
Reply...
Not all feedback is an issue. Create one when needed.
Thread
Elijah Kingson
1h
I feel like there has to be a primary action here for them to make.
Ayomide Daniel
30m
Yeah, i think so as well.
Alex Idua
30m
We could say “New” with a plus icon.
Ayomide created a Linear issue QUA 23
12m
Reply...

Connect Slack to a quality project with your preference settings.
Receive threads on the connected channel. Stay on top of things.
Add one line of code to enable the toolbar on your site. Anyone you invite or with the link can give feedback without installing anything.
>
Point your agent at a thread and it reads the replay, console, network calls and every click behind it. No re-explaining the bug.
MCP