This project is a mobile phone app for android made for connection with my Nexo smart speaker (other project). The app is built in React Native in JavaScript. It uses multiple screens. A part of the home screen is a wifi scanning function which scans the wifi for nexo speakers. It then saves the found speakers and caches them so next time the app opens its loaded quickly. You then can access each speaker in the menu and control it independently and change each of its functions, such as volume, equalizer, network connection, etc. The app can be toggled between light and dark mode and also has an english and a czech version. On the home screen you can view realtime playback of the speaker, which song is playing. When spotify is playing, it even shows the art cover, for bluetooth music it doesn’t. It shows the songs metadata and the speaker which it’s playing on. It’s made to support a master-slave speaker configuration for multi-room function, where on the home screen you’ll be able to only adjust the volume of the whole system and then in each speaker setting you’ll be able to control them independently. I had issues that I had to solve when making the network scanning function, which I ended up fixing and making it work. At first I had issues with it even running at all, then it worked fine in an android emulator, however when I built the apk, it didn’t work again. After using promises with the web requests and after giving specific network access for the app using app.json in Expo I finally got it to work and now it works great even when built. It’s now more rigorous and scans multiple subnets where the speaker could be hidden. Overall this app helped me learn a lot about app development and also about the specific permissions the app needs. It’s very cool to see the app finally work in the end.