Snow Scope App
Design and cross platform Flutter development of a Bluetooth application for a connected device
As a cofounder of Propagation Labs, we developed a connected instrument for measuring snow. In addition to the hardware development, I was responsible for creating the mobile and web apps to connect to the hardware, and view, store, manipulate, and share data coming from the hardware.
Although I am a mechanical design engineer by training, I have dabbled in software for a while, and decided that learning the Flutter cross platform development environment would be the most efficient way to develop apps for iOS, Android, and Web with the same codebase.
It has been a long process to learn and develop these applications, but Iām pretty proud of the outcome, and the app has been live on all platforms for about three years now, allowing thousands of snow and avalanche professionals to collect, analyze, and share snowpack data in an efficient manner.
Challenges faced:
Simplifying and optimizing UI design for complex functionality and custom data display and manipulation
Offline functionality and syncing to firebase backend
Robust background bluetooth functionality across device types, designing and working with custom BLE API
Implementing a robust over the air firmware updater
collaborating with other snow professionals and organizations to share and integrate our data into external systems (building out custom API)
Building validation tools for LLM voice to structured data functionality
Some of the tech and tools learned and utilized:
Flutter/Dart cross platform development for iOS, Android, and Web
Firebase backend
Invision Studio for UI design mockups
Picovoice offline audio commands and voice processing
OpenAI APIs for auto conversion of audio to structured snowpit data
Custom Bluetooth Protocol Development