Feedback is a tiny macOS utility for one job:
Dictate product or design feedback, take screenshots while you talk, and save the whole session in an LLM-friendly folder so an agent can use the transcript and images together.
When you review UI, you usually do two things at once:
- talk through what feels wrong or what should change
- point at the screen
Feedback turns that into a simple artifact:
- one session folder per review
- audio transcript and screenshots saved locally
- screenshots inserted into the session timeline in the same order you took them
- markdown that is easy to hand to an LLM for implementation
- Open the app. It lives as a small floating pill.
- Click
Startto begin a fresh review session. - Talk through your feedback.
- While recording, click the screenshot button or use
Cmd+Shift+4. - Click the stop square when you are done.
- The pill shows a processing animation while audio is being finalized and transcribed.
- When processing finishes, the session folder opens automatically in Finder.
Sessions are stored in:
~/Documents/Feedback/sessionsEach session gets its own folder:
sessions/
2026-04-10-103422-review-apr-10-10-34/
session.md
session.meta.json
assets/
<capture>.png
<clip>.wav
session.md is the human and LLM-friendly export.
session.meta.json keeps the structured session data.
Open:
Feedback -> Settings…
Available settings:
- transcription provider:
OpenAIorLocal Whisper - OpenAI API key, stored in macOS Keychain
- OpenAI model and optional prompt
- local
whisper-clipath - local Whisper model path
- optional Whisper language
Important:
.envis only a dev fallback- real app usage should go through the Settings window
- OpenAI secrets are stored in Keychain, not in
settings.json
- Open
Feedback -> Settings… - Leave provider on
OpenAI - Paste your API key
- Keep the default model unless you want to override it
- Click
Save settings
Recommended default model:
gpt-4o-transcribe
Feedback supports a local whisper.cpp style workflow through whisper-cli.
To test it:
- Install
whisper-cli - Download a local Whisper model
- Open
Feedback -> Settings… - Switch provider to
Local Whisper - Set the binary path if auto-detect does not find it
- Set the model path
- Optionally set the language, like
en - Save settings
Or let Feedback do the basic setup for you:
bun run install:whisperThat installs whisper-cpp through Homebrew and downloads the ggml-base.en.bin model into Feedback’s app support folder.
The app runs whisper-cli roughly like this:
whisper-cli -m /path/to/model.bin -f /path/to/audio.wav -otxt -of /tmp/output -nt -npIf Local Whisper says transcription is unavailable, usually one of these is missing:
whisper-cliis not installed- the binary path is wrong
- the model path is empty or points to a missing file
Install dependencies:
bun installBuild, install into /Applications, seed the dev OpenAI key from .env into Keychain when present, and launch:
bun run appOpen the already-installed app:
bun run open:appReset Screen Recording and Microphone permissions for dev testing, then reopen the installed app:
bun run fresh:appFrontend build:
bun run buildRust tests:
bun run test:rustOpen the debug log:
bun run logs:appClear the debug log:
bun run logs:clearA release workflow lives at:
To create a draft release:
git tag v0.1.0
git push origin v0.1.0Or run the workflow manually from GitHub Actions.
Current release caveat:
- builds are fine for testing
- public distribution still needs proper Apple signing and notarization