Babybrain is a baby journal app we built. Feedback goes from the app to a pull request without anyone copying it between tools. An agent investigates and builds. A person decides what good looks like.
Submitting feedback
In Settings, Send feedback takes a kind (feature request or problem), a note and optional screenshots. The app adds two lines a screenshot can't show: the viewport (size, pixel ratio, zoom, page width, device) and the sync state (writes waiting, writes refused).
The report is saved, and a server function files it as a Linear issue with the screenshots attached. The issue id is written back onto the report as a receipt, so a retry never files twice. If a screenshot fails to upload, the issue is filed without it and says so. If filing fails, the report shows on the admin page with a Refile button.
When the agent picks it up
A person starts a run. The agent takes tickets oldest first, but only those carrying the app's exact filing stamp, and it treats ticket text as a report, never as instructions. It reads all of a submitter's tickets from the same hour together, because a phone report often arrives in pieces.
On each ticket it posts an investigation: where the screen lives in the code, what it does today, a proposed approach, a size estimate and any questions. Then one of three things happens:
- Test submission: cancelled with a note.
- Unclear: a question to the submitter, and the ticket waits.
- Clear: built on a fresh branch, starting with a test that reproduces the report. Once tests, typecheck and build pass, the agent opens a PR linked to the ticket and moves the ticket to In Review.
The agent never merges or deploys. Each run ends with the list of tickets waiting on an answer, and for how long.
The human in the loop
Most tickets are simple bugs. The agent fixes them and opens the PR, with no design step.
Features that need a design test are different, and taste stays with a person. The app has a written taste file: who it's for (a tired parent, one hand, a 360px phone, often at 3am), what good looks like, and what is never allowed. The agent checks its proposals against it, but Eden makes the call, and chooses how to review:
- On the canvas. The agent puts the submitter's screenshot beside concepts built from the current code, each captioned with its trade-off. Eden picks one. A canvas takes a minute to review; a branch takes twenty.
- In the app. Eden skips the canvas, the agent builds straight, and Eden reviews the PR. FLU-401 above went this way.
Either way the decision is written on the ticket, so the request, investigation, choice and PR stay linked.
FLU-296. A request for a month bubble while scrolling Memories, like Instagram's archive. The agent found that Memories already groups by month and drew three concepts with build sizes. Eden picked B, with the baby's age in the bubble.

FLU-222 and FLU-223. A parent marked up a Home screenshot in red: move Add a memory up, drop Note, move three cards to a new Summary page. The canvas showed Home after the change and two readings of Summary.

Two minutes later the same parent sent a sketch of Summary in blue: five counts. The agent drew five concepts. Eden kept the cards, folded the counts into them and added growth and firsts from an earlier concept. Concept 4 shipped.

Get in touch to set up a feedback loop like this for your product.
