I maintain a small in-browser passport/ID photo tool, so before adding anything paid I wanted to know what people who already paid for this kind of product complain about. Search volume tells you that people look for something; reviews tell you what happened after they paid.
So I pulled public Google Play reviews (newest + "most helpful", up to 300–400 per app) for the top passport/ID-photo apps in four storefronts and tagged them with a simple keyword classifier.
The data
| Storefront | Search terms | Reviews read | 1–2★ reviews | Billing/paywall share of 1–2★ |
|---|---|---|---|---|
| United States | passport photo, id photo | 3,005 | 907 | 29% |
| Brazil | foto 3x4, foto documento | 2,203 | 424 | 41% |
| Mexico | foto carnet, foto pasaporte | 1,636 | 293 | 37% |
| Argentina | foto carnet, foto pasaporte, foto dni | 1,472 | 346 | 36% |
| Total | 8,316 | 1,970 | 34% (668) |
For comparison, across the same 1,970 negative reviews:
- crashes / ads / slowness: 20%
- background, hair, crop or size quality: 15%
- "my photo was rejected by the agency": 4%
Caveats, because they matter: the classifier is regex-based, so one review can hit several themes and some are missed. Mexico and Argentina share a few Spanish-language apps, so a small number of reviews may be counted in both. The top apps together have tens of millions of installs, so this is not a niche sample, but it is Play-only (App Store review feeds stopped returning entries this year).
What "billing" actually means in these reviews
It's not "this is too expensive" in the abstract. It's four very specific patterns:
1. Trial that isn't a trial. The most-upvoted US review (405 helpful votes) is about a "7 day trial" that billed the annual plan immediately. Several of the top-10 most helpful negative reviews are variations of this.
2. Pay first, get rejected later. This one shows up in every Spanish-language storefront:
"Te cobran 5,95 € por una foto, antes de ver si cumple los requisitos de calidad. Luego te la rechazan. Debería ser al revés, primero comprobar si la foto cumple y luego cobrar."
("They charge €5.95 per photo before checking whether it meets the requirements. Then they reject it. It should be the other way round: check first, then charge.")
3. Wrong currency. Multiple Mexican users were charged in USD while the price looked like pesos ("I thought the photo cost 5.75 pesos and they charged me 127 pesos"). One reported $5.95 turning into $119.46 per photo.
4. The paywall appears only at download. You do all the work, see a nice preview, and the download button is where the price shows up for the first time.
What I changed (or didn't build) because of this
None of these are clever. They're just the inverse of the complaints:
- Check before download, not after payment. The tool runs a compliance check (head size, eye line, background, resolution) in the browser and shows the result before you download. If it fails, you see why and retake. Nothing is charged for the standard photo, so there's nothing to refund.
- No account, no card, no subscription for the document photo itself. A one-off task should not create a recurring charge. If I ever charge for something optional, the rule is: preview first, one-time payment, price in the buyer's currency, written next to the button.
- The photo never leaves the device. Face landmarks run with MediaPipe in the browser; the crop and the JPEG are produced locally. (I wrote about the technical side here.)
- No beautification on passport photos. Several "quality" complaints are actually about apps over-processing faces or tinting the background. For official photos the tool only crops, scales and (optionally) cleans the background — it doesn't touch the face.
The second-biggest wish nobody talks about
Outside billing, the most common "I wish it did X" in Spanish reviews was mundane: the digital file was saved as a full letter-size page, so it couldn't be uploaded to the online form. People need two different outputs — a correctly sized digital file for upload portals, and a 4x6 print sheet for Walgreens/CVS/Walmart-style kiosks — and many apps only produce one.
Takeaway for anyone building a "utility" product
If your category's reviews are dominated by billing complaints rather than quality complaints, the market isn't telling you to build a better algorithm. It's telling you that trust is the feature. Showing the result before asking for anything, and never surprising people with a recurring charge, is a competitive advantage that costs nothing to build.
The raw tables (app list, install counts, in-app price ranges, theme counts and quotes) were generated with a small Node script against public store data; I'm happy to share the methodology in the comments.
I'm Rogin, the maintainer of FotoApta, the in-browser photo tool mentioned above — so I have an obvious interest in this topic. The numbers come from public Google Play reviews collected on 2026-10-06 (US, BR, MX) and 2026-11-02 (AR). This post was written with AI assistance and reviewed by me.