MotoLink is a React Native Android intercom app for rider and pillion communication on two phones. The app uses Bluetooth for discovery/signaling and WebRTC for live audio.
- Platform target: Android
- Stage: Late MVP / release candidate
- iOS support: Not verified in this repository
- Release output verified locally: APK + AAB
- Rider and pillion role selection flow
- Bluetooth device scan, pair, reconnect
- WebRTC audio call flow with in-call controls
- Pair trust validation and re-pair recovery
- Persistent storage for settings/device/session state
- Runtime support/privacy links in app settings
- Release build guards for signing and runtime config
- React Native 0.73
- React Navigation
react-native-bluetooth-classicreact-native-ble-plxreact-native-webrtcreact-native-mmkv- Android Kotlin native modules
motolink-android-intercom/
APK/ # release artifacts (when exported)
Assets/ # branding assets
Docs/ # privacy and project documentation
Project/
MotoApp/ # main React Native app
android/
ios/
src/
LICENSE.md
README.md
README_STRUCTURE.txt
cd Project/MotoApp
npm ci
npm run androidcd Project/MotoApp
npm run android:build-safe
powershell -ExecutionPolicy Bypass -File .\scripts\build-android.ps1 -Task :app:assembleRelease
powershell -ExecutionPolicy Bypass -File .\scripts\build-android.ps1 -Task :app:bundleReleaseRelease outputs:
Project/MotoApp/android/app/build/outputs/apk/release/app-release.apkProject/MotoApp/android/app/build/outputs/bundle/release/app-release.aab
Do not commit secrets. Configure locally in:
Project/MotoApp/android/keystore.propertiesProject/MotoApp/android/release-config.properties
Use examples:
Project/MotoApp/android/keystore.properties.exampleProject/MotoApp/android/release-config.properties.example
Docs/PRIVACY_POLICY.mdDocs/MOTOLINK_LOGIC_FLOW.mdDocs/MOTOLINK_COLLEGE_DOCUMENTATION.mdDocs/MOTOLINK_FORMAL_REPORT.md
See LICENSE.md.
This repository is published for showcase, academic reference, and evaluation use.
Last refreshed: April 1, 2026