Draft preview (status: review). Not published: highlighted gaps must be filled and the page fact-checked first.

AI

Adding AI vision to an app without a research team: background removal and label OCR

Two vision features we shipped in real apps, the choices behind them, and a table to help you decide whether a vision feature belongs in yours.

Two drawn examples under the heading 'The AI does the chore; a normal path catches the miss'. Background removal: a garment in a messy photo becomes a clean cut-out. Label OCR: when a barcode scan fails, the label's text is read instead.

[TEAM SUPPLIES: parked until one engineer call (suggested: Roman Zhuravskyi, Head of AI) covers the model facts, and the owner records the In-Store Picker NDA "what may we say" sign-off in owner-inputs.md (client_permissions). Byline: suggested Roman Zhuravskyi, only with his consent and after he reviews the post; the author field is a placeholder until then. At unpark, pick the shape: a short note on the two features, or the full post with our two columns of the decision table filled.]

Short answer. You can add computer vision to a mobile app without a research team when the job is narrow and a normal path catches the misses. We shipped two such features: automatic background removal for wardrobe photos in Shkaf, and label reading (OCR) in a store picker app when a barcode won't scan. The choices that matter are where the model runs and what happens when it is wrong. [TEAM SUPPLIES: confirm we trained no custom model; if we did, change the title. The answer must be exact: name the engine behind each feature (platform API, third-party service or our own model) and say whether anything was trained or fine-tuned.]

The two features

Shkaf: clean wardrobe photos with no editing. Shkaf is a digital wardrobe for iOS and Android. People photograph their clothes, then build outfits and plan looks. Adding an item had to be fast, or nobody would digitise a real wardrobe. A large closet also had to stay easy to browse and filter. So when a user adds a garment, the app removes the photo's background and cleans the image up. The closet looks consistent, and nobody opens a photo editor. [TEAM SUPPLIES: add a download figure only after haip IT approves it, and only the case page's figure (50k+ Google Play downloads) unless the case page is updated first with a dated source.]

In-Store Picker: read the label when the barcode fails. The picker app helps store staff at a quick-commerce hypermarket pick online orders. Staff work on a busy store floor, so the app had to be quick and need as few taps as possible. It runs in English and Arabic (right to left). Staff scan each item's barcode to confirm the right product and quantity. When a barcode won't scan, the app reads the product label from a photo instead.

The pattern: AI does the chore, and a normal path catches the miss

Look at where the AI sits in each app.

  • In Shkaf, the AI does a chore people would skip: cutting garments out of messy photos. [TEAM SUPPLIES: what the user can do when a cut-out is wrong: retake, undo, keep the original?]
  • In the picker, the barcode is the main path. OCR is the fallback for the moments the main path fails. [TEAM SUPPLIES: what the picker sees when OCR is unsure: confirm on screen, type the code, call a supervisor?]

Neither feature is the only way to finish the task. That is what makes a feature like this safe to ship without a research team: a wrong answer costs a few seconds, not a lost order or a broken record.

If you are planning a vision feature, design the "it got it wrong" screen before the model.

On-device or cloud: the decision table

This is the first real decision for any vision feature. The two middle columns are general trade-offs. The right-hand columns are what we chose for our two features.

On-device vs cloud for a vision feature, with our two shipped features
QuestionOn the deviceIn the cloudShkafPicker
Must it work with no connection?Yes, it canNo, it needs a network[TEAM SUPPLIES][TEAM SUPPLIES]
Does the photo leave the phone?NoYes: privacy notice, and a data processing agreement with the vendor[TEAM SUPPLIES][TEAM SUPPLIES]
Cost per imageNone per call; you pay in build and test timeA fee per call, or your own server costs[TEAM SUPPLIES][TEAM SUPPLIES]
SpeedDepends on the phoneDepends on the network[TEAM SUPPLIES: time per photo][TEAM SUPPLIES]
App sizeThe model ships with or downloads to the appNothing extra on the phone[TEAM SUPPLIES][TEAM SUPPLIES]
Updating the modelNeeds an app release or a model downloadChange it on the server[TEAM SUPPLIES][TEAM SUPPLIES]
Which we chose, and why[TEAM SUPPLIES][TEAM SUPPLIES]

Ready-made building blocks, and their catches

Both platforms ship vision tools you can use without training a model. These are options worth comparing, not a list of what we used. [TEAM SUPPLIES: what we actually used in each app.]

Platform vision tools (documentation read 23 September 2026)
TaskAndroidiOSWatch out for
Cut the subject out of a photoML Kit Subject Segmentation: runs on the deviceVision VNGenerateForegroundInstanceMaskRequestML Kit's version is in beta, with no SLA or deprecation policy. Apple's needs iOS 17 or later, so older iPhones need another path
Read text (OCR)ML Kit Text Recognition v2: Chinese, Devanagari, Japanese, Korean and Latin scriptsVision VNRecognizeTextRequest, iOS 13+Script coverage. If your labels use a script outside ML Kit's list, such as Arabic or Cyrillic, test before you commit. On iOS, ask supportedRecognitionLanguages() (iOS 15+) on the OS versions you support
Scan barcodesML Kit Barcode Scanning: on the device, no network neededVision VNDetectBarcodesRequest, iOS 11+Scanning is the cheap, exact path. Use it first and keep OCR for when it fails

One check applies to our picker: its screens are in English and Arabic, and Arabic is not on ML Kit's text recognition list. What counts is the script printed on the labels, not the language of the screens. [TEAM SUPPLIES: which scripts the picker's product labels carry, and how the OCR handles them.]

The tools differ by platform. For how we build on each, see our Android app development and iOS app development pages.

What it costs

Our app cost calculator budgets 250 engineering hours for an "AI feature", before the multipliers for platforms and design. It also assumes a custom backend. At the calculator's blended planning rate of £45 an hour, 250 hours is £11,250 before those multipliers and the backend. That rate is a planning figure: our actual rates are set per engineer, at about $30–90 an hour depending on skill and experience. [TEAM SUPPLIES: is 250 hours right for a narrow on-device feature like these, and does on-device work still need the custom backend the calculator assumes?]

For a cloud model, add the per-image fee. [TEAM SUPPLIES: real per-image cost range from Shkaf or the picker, if either used the cloud.]

If the vision feature goes into a first release, our MVP app development page shows how discovery decides what that release includes.

Where AI did not earn its place

[TEAM SUPPLIES: one vision or AI feature we proposed or tried and dropped, and why. If there is no real example, delete this section. Do not write a hypothetical.]

Seven questions before you add a vision feature

  1. What chore does it remove, and for whom? Name the person and the minutes saved.
  2. What happens when it is wrong? Draw that screen first.
  3. Must it work offline? A store floor, a basement or a flight changes the answer.
  4. May the photo leave the phone? If yes, you need a privacy notice and a data processing agreement with the vendor.
  5. Which languages and scripts? Check the engine's list against your real labels, not a demo.
  6. Which OS versions? Some platform APIs need a recent iOS.
  7. How will you know it works? Test on real photos from real users before release. [TEAM SUPPLIES: how we test: sample size, pass rate we aim for.]

Next step

How this was written

Written from our case studies (Shkaf; the In-Store Picker, which is under NDA, in case-page wording only) and the Google and Apple documentation listed above, read on 23 September 2026. The 250-hour figure is our public calculator's "AI feature" line. Latency, per-image cost and which engine each app used are marked for the team to supply; we did not guess them.

Sources

  1. Google: ML Kit (accessed 23 September 2026)
  2. Google: Subject segmentation (ML Kit) (accessed 23 September 2026)
  3. Google: Text recognition v2 (ML Kit) (accessed 23 September 2026)
  4. Google: Barcode scanning (ML Kit) (accessed 23 September 2026)
  5. Apple: VNGenerateForegroundInstanceMaskRequest (accessed 23 September 2026)
  6. Apple: VNRecognizeTextRequest (accessed 23 September 2026)
  7. Apple: supportedRecognitionLanguages() (accessed 23 September 2026)
  8. Apple: VNDetectBarcodesRequest (accessed 23 September 2026)