All field notes
Mobile Apps88 signal · Eye-drop recall product identification

Barcode Scanning or Manual Search? Scope a Recall App MVP

A recall-check MVP needs more than a camera button. Compare barcode scanning with manual product search, define what each can verify, and plan a safe fallback.

OSIS Engineering
October 4, 2026 · 6 min read

A recall-check app succeeds only if people can identify the product they actually have and understand what the result does—and does not—confirm. The eye-drop recall coverage reported by Google Trends US offers a concrete product-identification use case, including products sold under several brand names. It does not establish that a particular app exists or that scanning alone can identify affected units. For a first release, the practical choice is not simply “camera or search.” It is how scanning and manual entry work together, what product data supports a match, and how the interface handles missing or uncertain identifiers. This is a product-scoping decision with safety and integration consequences.

01 / 03

Choose both entry paths, but give them different jobs

For a recall-check MVP, plan both barcode scanning and manual search if users may arrive with different packaging, devices, or levels of comfort. Scanning can reduce typing when a camera reads a supported code; it should not be presented as proof that a unit is affected or unaffected. A code may identify a product variant without identifying its lot or expiration date. Manual search can let a user find a product by brand and package details, but it introduces spelling, naming, and selection errors. The app’s job is to capture a useful identifier, then explain whether that identifier is sufficient for the specific notice.

Treat the choice as a workflow, not a feature-count contest. A hypothetical user scans a bottle, sees a product-level result, and is asked to check the lot number printed on the package because the available barcode does not establish the lot. If scanning fails, the user can search by brand and choose a matching product description before entering the lot manually. If no reliable match is possible, the app should say so and point to the authoritative recall notice or instructions. This fallback is a core product requirement, not an optional polish item.

  • Use scanning to capture a supported code quickly; use manual search for discovery and as a fallback.
  • Ask for additional package identifiers only when the recall notice requires them.
  • Keep “no match found” distinct from “confirmed not affected.”
02 / 03

Define the match before estimating the build

Before sizing the MVP, write down the data fields that determine a match for each notice. Depending on the source information, these may include brand, product name, package size, barcode, lot number, or another identifier. Do not assume every recall uses the same rules. A barcode lookup typically needs a maintained mapping from code to product records; it cannot supply missing recall details by itself. Manual search also depends on a catalog with consistent names and package descriptions. The costly work may therefore sit less in adding a camera view and more in acquiring, normalising, and updating trustworthy product and recall data.

A lean first version can limit its product coverage and be transparent about that boundary. Define which notice sources are in scope, how often records are checked, who resolves conflicting product names, and how a notice change reaches the app. Store the source and last-checked time with each result so the interface can communicate provenance and freshness. If data arrives through a feed, document its fields, update cadence, and failure behaviour; if staff enter notices, plan review and publication controls. These choices shape backend work, operations, QA, and ongoing ownership, so include them in the MVP estimate.

  • Specify match outcomes: confirmed match, possible match needing more details, no match, and lookup unavailable.
  • Budget for source integration or controlled editorial entry, not just mobile scanning.
  • Record source, update time, and the product identifiers used in a result.
03 / 03

Make uncertainty and failure safe by design

A recall result is a decision aid, so interface language should match the evidence. A scan that returns a product record is not necessarily a lot-level check. Say what was compared, what remains unverified, and what the user should inspect next. Avoid reassuring language when data is incomplete, stale, or unavailable. Provide the relevant official notice and its instructions, and make clear that users should follow that source rather than treating the app as a replacement. This is especially important when a package has multiple brands or variants: a similar label is a reason to ask for another identifier, not to silently broaden a match.

Test the entire identification journey with realistic edge cases before release: an unreadable or unsupported barcode, a code that maps to several package variants, a mistyped brand, a missing lot number, and a lookup service that cannot respond. Include accessibility checks for the camera flow and an equally usable text alternative. Log enough operational information to diagnose lookup failures without collecting unnecessary personal data. For the first release, measure whether people can complete identification and reach authoritative guidance—not merely whether the scanner opens. These acceptance criteria keep the MVP focused on reliable decisions rather than a demo-friendly camera feature.

  • Show a clear next step when the identifier is insufficient or lookup is down.
  • Test scan, search, correction, and official-guidance paths on supported devices.
  • Review result wording with product, engineering, and relevant safety stakeholders.

For most recall-check MVPs, the stronger scope is both barcode scanning and manual search, with each presented as an input method—not as a guarantee. Scanning can speed up product discovery; manual entry provides a practical fallback and a way to capture details a code cannot confirm. The decisive work is defining match rules, securing dependable notice data, and communicating uncertainty honestly. Start with a narrow, explicit product scope, then validate the full path from identifier to authoritative guidance before expanding coverage.