I’ve run into the same headaches when building a React Native app for a retail client. At first, I used a basic library that worked okay for QR codes, but once we needed to recognize UPC and DataMatrix barcodes in poor lighting conditions, things quickly fell apart. The real problem came when staff had to scan products directly from a moving conveyor belt — accuracy just wasn’t there. After digging around, I switched to a service that uses AI-driven recognition, which made a big difference because it doesn’t rely purely on clean input. It also supports a wide range of symbologies (1D and 2D) out of the box. If you’re curious, here’s the page I bookmarked at the time:
https://ocrstudio.ai/barcode-scanner/. What I liked was not just the recognition itself but the fact that you can integrate it into mobile apps (React Native, Flutter, even web) with relatively straightforward APIs. It saved me from having to write tons of platform-specific workarounds, and honestly, that alone justified making the switch.