Bug reports your AI agents can fix.
Report bugs that tell the whole story, the first mile of every fix.
Start freeWatch a report write itselfThe picture, marked up
Private fields already blurred.
The last 30 seconds
Sign up → Name → Email → Password → Continue (nothing happened)
The scenario, in plain words
- Given
- signed out, on Create account
- When
- name, email and password typed, then Continue tapped
- Then
- nothing happened. Expected: the Welcome screen
The phone and the app
Where it most likely lives in the code
lib/screens/signup_screen.dart:142 · ContinueButton, found by the widget's name
A test draft
What a bug report usually leaves out.
Writing a good bug report is hard. Even careful testers leave things out, and the fix waits while someone asks.
“I tapped something and it broke.” Which taps, and in which order?
By the time the report is written, the last 30 seconds are gone.
Text size, dark mode, language, network, battery. Nobody thinks to write them down.
A screenshot shows what went wrong, not which part of the app drew it.
Free for all your testers.
Everything here is free, always, for any number of testers.
Report what is on the screen, any time.
Hold the bird, tap Tray: your reports, waiting to send and already sent.
1 report waiting to send
- To send
- Save button missing
- Sent
- #12 Continue does nothing
Scrolls the page and stitches it into one tall picture.
Records 10 seconds with the touches drawn, to watch on the phone.
Takes the screenshot after a 3-second countdown on the bird.
Tap one part of the screen to capture only that part.
Hides the bird for 2 minutes. A shake brings it back.
Shake the phone to capture, hands busy or not.
After a normal phone screenshot, bugsTweet offers to report it.
Arrow, box, pen, highlight, blur, text, stamps, crop, and the note.
Ruler, color picker and contrast check, for design bugs.
Passwords and private fields are blurred before anything leaves the phone.
Model, system, app version, text size, dark mode and language.
A short summary before sending; see the full report text.
- The note
- 1 picture, marked up
- The phone facts
- See the full report
Retest: the old picture and the new one, compared and said in words.
A slider over the last 20 seconds, on the phone.
The next start offers to report it.
The app closed unexpectedly last time. Report it?
It was on Create account.
One command finds the fewest taps that still make a bug test fail.
The test still fails.
Send reports straight to GitHub without the bugsTweet service.
your-org / my-app-reports
#13 opened, straight from the phone
What Pro will give you.
Coming soon. The phone only collects; the bugsTweet service will write these parts, so your agent can start on the fix at once.
What happened
The last taps, and small pictures of the 30 seconds before the report.
Sign up → Name → Email
The clip with the touches drawn goes into the report.
A slider over the last 20 seconds: the picture, the screen and the app's state at each step.
Network, a short speed test, battery, storage, memory and heat.
- Network
- Wi-Fi, 24 Mbit/s
- Battery
- 41%, power saving
- Storage
- 1.2 GB free
- Memory
- 68% used
- Heat
- normal
One line in the app lets the report say what the app knew.
Before sending, bugsTweet checks for the same bug and offers to add to it.
The app's last 50 requests and 500 printed lines, passwords and keys hidden.
When the app closed unexpectedly, the full trace of each error.
A title, up to two topic labels and a severity, written by Claude.
Where in the code
The file and line, found by the widget's name.
lib/screens/signup_screen.dart:142
ContinueButton
The exact code the tester's build was made from.
Given, When, Then, and a test your agent can finish.
- Given
- signed out, on Create account
- When
- name, email and password typed, then Continue tapped
- Then
- nothing happened. Expected: the Welcome screen
A checklist of what is still missing.
- Steps
- Picture
- Code place
- Were you signed in?
Talking to your testers
“Were you signed in?” The tester taps the answer on the phone. No developer in the middle.
Start a GitHub comment with “For the tester:” and it reaches their phone; their answer comes back.
For the tester: were you on Wi-Fi or mobile data?
Were you on Wi-Fi or mobile data?
Claude Code or Codex lists the reports, reads one, sees its pictures, asks the tester and marks it fixed.
After the fix
Testers on that build get the retest card: the screen, the old picture, the steps.
A new build that changes a file in an open report marks it for a retest.
Maybe affected by this build (lib/screens/signup_screen.dart)
One command posts “failed before, passes after” on the issue.
Before: the test failed.
After: the test passes.
Reports go through bugsTweet, so your app holds no GitHub key.
Your app holds no GitHub key.
How it works
One line. Your store app never contains it.
Anyone you give a test build to: beta users, clients, your team. They mark up the screen, add a note, send.
When the fix lands, the tester retests from the phone.
issue #12 → fixed in build 31 → retested ✓
Your code stays yours.
bugsTweet never gets access to your app's code. Reports go to a separate, private reports repository, and there the bugsTweet service allows only its own actions: post a report, comment, close or reopen, add a picture.
Free to report. Pro for the whole story.
Your testers never pay to report bugs. Pro adds what nobody can write down.
See pricing