Scouting App Benchmark: React Native vs Native Java
I ran our scouting app against a native Java version on the actual tablet to decide whether a rewrite would be worth it.
Sole developer · 2026

Overview
The 2026 scouting app is React Native. This project asks, with repeatable measurements rather than opinion, whether a native Android rewrite would give a meaningful advantage in responsiveness, stability, or memory.
What I did
Solo project: both implementations of the workload, the harness, the analysis scripts, and the report.
Built with
- React Native
- Java
- Android
- Couchbase Lite
- Python
Architecture
Two independent apps implement the same state machine and persistence, one in React Native with Hermes and one in Java with Android Views. A shared instrumentation library injects the touches and samples CPU, memory, and frame times.
A Python reference implementation of the state machine produces golden checksums. Both apps' reducers are unit-tested against it, and every benchmark run compares its final state and database contents with the reference.
The challenges
Making the comparison fair
The instrument has to be identical for both apps, and the workload deterministic. The workload is generated from one spec into event files with expected checksums, so a difference in results can't come from a difference in input.
Catching a flaw in my own driver
A first set of tablet runs lost one React Native tap per cycle because of a defect in the test driver. The affected workloads were rerun after the fix and the earlier set kept separate, rather than blended in.
Screenshots



