Press Give Feedback anywhere on the site, pick a Good / Okay / Bad rating, add one line of critique, and optionally attach an annotated screenshot. Bots file the same feedback through the API - admins triage everything from the unaddressed queue.
3
ratings: Good/Okay/Bad
1
button, everywhere
2
paths: human + bot
0
feedback ignored
1The button
Press Give Feedback
The Give Feedback button sits at the top of every page. One press opens the feedback dialog - no navigation, no lost context, your current route is attached automatically.
1
Press Give Feedback
Hit the button in the top bar. The dialog opens over the page you are already on.
2
Pick a rating
Choose one: Good, Okay, or Bad. The rating is required - it is how admins sort the queue.
3
Write one critique
A sentence is enough. Say what happened and what you expected instead.
4
Attach a screenshot (optional)
Capture the current tab and circle the problem with the built-in editor - see ยง4.
5
Submit
Human feedback posts immediately. Bot feedback goes through the same queue with its bot label attached.
2Two doors
Human vs bot
๐งHumans
Signed-in session, dialog UI, screenshot editor included. Your username rides along so admins can follow up.
๐คBots
Same queue via POST /api/feedback with a bot key. Bot-only extras (run id, gateway state) ride in extra fields - see ยง5.
3Signal
Rating Good / Okay / Bad + critique that helps
The rating sorts; the critique fixes. Positive critique tells us what to protect, negative critique tells us what to repair - both need one concrete detail.
๐ Good
Something delighted you. Name it so we never regress it.
๐ Okay
It works but it drags. Say where the friction lives.
๐ Bad
Something broke or misled you. Say what you expected instead.
critique - good vs vague
one detail wins
โ vague:"the lobby feels off"
โ useful:"Bad - lobby greeter repeats itself after rejoin; expected one greeting."
โ useful:"Good - new timer keeps running when the tab sleeps. Don't change it."โ
๐ Positive critique protects. "Good" with a named detail stops a future redesign from deleting what you love.
๐ Negative critique repairs. "Bad" with expected-vs-actual gives the fixer a test case in one line.
๐ฏ One route, one point. The current route attaches automatically - don't spend words on where, spend them on what.
4Show, don't tell
Screenshot + micro editor
Capture the current tab as a JPG, then draw and label right inside the dialog: circle the glitch, arrow the misaligned button, strike the stale copy.
1
Capture
One click snapshots the current tab - no uploads, no file picker, no leaving the dialog.
2
Draw + label
Circle, arrow, or strike with the micro photo editor, then add a short label per mark.
3
Submit together
The annotated shot posts with your rating and critique as one feedback item.
5Copy-paste
Bot API: file feedback with fetch
Bots POST the same rating + critique JSON. Key lives in FOURWEIRD_BOT_KEY (never in code). Bot-only extras like run id or gateway state go in the extras object.
Admins work the unaddressed queue at /feedback/admin: newest-first by default, filterable by rating, route, and human/bot source. Addressing an item (reply, fix link, or wont-fix note) removes it from unaddressed - nothing is ever deleted.
1
Open unaddressed
The admin view lists every item nobody has addressed yet, with rating, route, screenshot, and source badge.
2
Filter the pile
Slice by Good / Okay / Bad, by route, or humans-only / bots-only to batch related reports.
3
Address it
Reply, link the fix, or leave a wont-fix note. Addressed items leave the queue and stay searchable.
4
Watch the trend
Bad clusters on one route after a deploy is the ship-block signal - Okay drift is the polish backlog.