Building MOD Smart: React Native and Tuya for Real-Time Lighting Control
MOD Smart is the companion app for MOD Lighting. It lets installers and power users control Tuya-compatible RGB, CW and RGBCW lighting controllers across several properties from one phone.
The hard part wasn't the on/off switch. Pairing, live device state, permissions, firmware, scenes and schedules all had to feel like one coherent product on both iOS and Android.
One App for Every Room and Every Property
- Multi-home: switch between properties and client sites without logging out.
- Live state: the interface follows what the lights are actually doing, not what the app last asked for.
- Adaptive controls: each controller only shows the controls its Tuya data points support.
- Scenes and schedules: grouping, strip configuration and automations sit alongside the device controls.

iOS + Android
Shipped from a single React Native codebase.
3
Ways to pair a controller: Wi-Fi EZ, access point and Bluetooth.
Live
Device state over MQTT, so the app matches the room.
Three Ways to Pair a Device
Pairing is where smart-home apps usually lose people, so we gave MOD Smart three routes in. Wi-Fi EZ mode is the fastest. Access-point mode is the fallback when EZ won't connect. Bluetooth discovery finds controllers nearby.
Whichever path is used, the device lands in the active home with controls that match what it supports.

Navigation That Keeps Users Oriented
- RootNavigator separates the signed-in and signed-out app.
- MainTabs keeps the main destinations predictable: homes, scenes and settings.
- ControllerStack holds the deeper device screens, so users can always get back without piling up navigation history.

Real-Time State Without Excessive Re-Renders
Zustand slices keep authentication, devices, theme and sheets separate. When an MQTT event reports a change, only the affected control updates instead of the whole app re-rendering.
The same state model also handles scenes, schedules, grouping, strip configuration and remembering the active home.

Security and Permissions
Sign-in uses email and a one-time password. Session tokens are stored in the device keychain via react-native-keychain, never in plain storage. Role-based helpers make the difference between installer and homeowner actions explicit before any API request is sent.
Shipping Reliably on iOS and Android
The first Google Play review passed. Apple asked for an in-app account deletion flow, and because authentication was centralized, adding it was a contained change we could test before resubmitting.
Fastlane handles versioning, reproducible builds, internal Android releases and TestFlight delivery, so every release follows the same path instead of a list of manual, store-specific steps.
MOD Smart is available on the App Store and Google Play.

