Back to all posts

SafeMine — a BLE-connected safety monitoring app

A mobile app that talks to hardware over Bluetooth and tracks worker safety in real time.

SafeMine — a BLE-connected safety monitoring app
Tech stack
React NativeExpoBLEexpo-sensorsexpo-locationAESvictory-native

A React Native (Expo) safety app that connects to Bluetooth Low Energy devices, reads on-device sensors and location, encrypts data, and visualizes live readings — designed for field/worker safety monitoring, paired with a marketing site.

What it does

The app pairs with BLE hardware (react-native-ble-plx), reads device sensors and location, pushes notifications on safety events, stores credentials securely, and renders live charts of incoming data.

How I built it

React Native + Expo with react-native-ble-plx for Bluetooth, expo-sensors and expo-location for device data, expo-notifications for alerts, expo-secure-store + aes-js for encryption, and victory-native / Skia for charts. State is handled with Zustand.

What I learned

Hardware-connected mobile is a different world: BLE connection lifecycles, permission flows, background behavior, and encrypting sensitive readings on-device. It stretched me well beyond standard app development.