About a year ago I wrote a small app that I could run on an old Android phone that would play white noise. I had a couple of apps from the Play Store but what I wanted to be able to control playback remotely, ideally through HTTP calls. This would allow me to incorporate playback with HomeKit through Homebridge.
Initially I was going to write a purely native Android app but due some PTSD I couldn’t bring myself to do it. I’d played around with React Native in the past so figured I would give that a go—and as a plus I would have an iOS app if I needed it.
I know there’s a lot of debate around native vs non-native applications. Given the small utility of this application I’m not worried. I’ve also found React Native easy enough to drop down to proper native code when required (e.g. crypto).
After a couple of hours I had an app that I was happy with and gave me the functionality I needed. Through Homebridge and the homebridge-http-switch plugin I can control the playback with HomeKit scenes or turn on and off directly using Siri. Does what I need and nothing further.
I’ve uploaded the code to GitHub if you’re interested. Given it hasn’t been updated in a while I need to make the necessary changes to bring it up to the latest version of React Native which will be fun…
Maybe I should try Flutter next..?