What the mobile app includes
- All three modes: file transfer, video conferencing, and chat rooms — the full HashDrop feature set on your phone
- QR code scanning: use your device camera to scan a warp code or room QR displayed on a web client and connect instantly, without typing a code
- Haptic feedback: tactile confirmation via
expo-hapticson successful file transfers, room joins, and other key events - Cross-platform with web: mobile participants join the same LiveKit video rooms and WebRTC data channels as web users — there is no separate mobile-only infrastructure
You need either the Expo Go app on a physical device (iOS or Android) or an iOS Simulator / Android Emulator to run the app from source. Expo Go is the fastest path for testing on a real phone.
Build and run from source
Clone the repository
If you haven’t already, clone the HashDrop repo and install the web app’s root dependencies:
Start the Expo development server
From the repository root, run:Expo prints a QR code in the terminal. Scan it with Expo Go on your phone to open the app immediately.
Cross-compatibility with the web app
Mobile users are fully interoperable with web users:- A mobile participant can scan the QR code shown on the web transfer page and receive a file sent from a desktop browser
- Mobile users can join a video conference created on the web — they appear as full participants with camera and microphone, using native hardware optimized by Expo’s
@livekit/react-nativeintegration - Mobile users can join or create chat rooms and exchange messages with web participants in real time
The mobile app uses the same
ADJECTIVE-NOUN warp code system and the same LiveKit room tokens as the web app. No separate server or configuration is needed for cross-platform sessions.Key dependencies
| Package | Purpose |
|---|---|
expo ~54 | Build toolchain and native runtime |
expo-router | File-based navigation |
expo-camera | QR code scanning |
expo-haptics | Haptic feedback |
@livekit/react-native | Video conferencing |
peerjs | P2P file transfer and chat |
expo-document-picker | File selection on device |
expo-file-system | File read/write for transfers |