React Native
Depth — shipping. The app I work on daily at dona.uz, plus the native side I had to learn to make camera filters run at 30fps.
Depth: shipping — I learn it at work, in production. The React part transferred for free; the platform underneath it is what I’m actually learning, and the classroom is dona.uz . I keep the full concept map in a separate living note: React Native for a React.js Dev — Every Concept, Mapped.
The mental model
React Native is React with a different renderer. Same react package, same
reconciler, same hooks — but instead of react-dom painting the DOM,
react-native maps the tree onto real native views. Everything I knew about
components and state came along; everything about the browser did not.
Where it’s real: dona.uz
I’m Lead Software Engineer at dona.uz — a live-shopping marketplace where sellers go on air and show a product while buyers ask questions and order inside the app. React Native is the mobile app itself: the buyer side, the streaming screens, the seller flows. Around it I also work on the seller panel and the backend, which is the part of this job I didn’t expect to like as much as I do.
That changes what “learning React Native” means. Tutorials teach you components. A shipped app teaches you release trains, crash reports from devices you’ve never held, users on three-year-old Androids, and the fact that a 200ms jank in a live stream is a support ticket, not a code-review comment. Most of what I now know I learned by breaking something people were using that day.
See also Me and Go — the other half of the same job.
Where I’ve pushed it
FilterCam is what forced me past the JS layer: the camera filter module for dona.uz ’s live-shopping streams, where the filters run in Kotlin + OpenGL ES on Android and Swift + Metal + Vision on iOS, behind one JS component. Writing a local Expo native module changed how I think about the bridge — on that feature, none of the interesting work was JavaScript.
And because I don’t own a Mac, I built the iOS half from NixOS — see NixOS & Linux and the write-up I ran my React Native Swift code on a real iPhone, from NixOS.
What I know cold
- Expo workflow, EAS builds, config plugins, local native modules.
FlatList/SectionListvirtualisation instead of.map()over long lists.StyleSheet, flex-only layout, safe areas, platform-specific files.- Reanimated + gesture handler for animation that doesn’t go through JS per frame.
Still learning
- New Architecture in depth: Fabric, TurboModules, JSI beyond the happy path.
- Native debugging and profiling — Xcode Instruments, Android Studio profiler.
- Release engineering: signing, OTA updates, staged rollouts.
comments