Bumplink
A bilateral contact exchange app using QR codes and real-time coordination. Meet someone, scan, approve, take a selfie together, save the contact.
React Native Expo Rails 8 API Action Cable WebSockets TypeScript
Overview
Bumplink reimagines how people exchange contact information by making it bilateral, visual, and memorable. When two users meet, one generates a QR code containing their contact preset. After scanning, both users see a preview and must approve the exchange before continuing. The app then opens the camera for a selfie together, creating a memorable association with the new contact. Built with React Native (Expo) for cross-platform mobile and Rails 8 API with Action Cable for real-time WebSocket coordination.
Key Challenges
- • Real-time bilateral coordination via WebSockets between two mobile devices
- • QR code generation with embedded contact preset data
- • Managing exchange session lifecycle with 10-minute expiration
- • Camera integration for shared selfies during the exchange flow
- • Cross-platform mobile development (iOS & Android) with Expo
- • Secure session management with token-based API authentication
What I Learned
- • React Native with Expo Router file-based navigation
- • Rails 8 Solid stack (solid_cache, solid_queue, solid_cable)
- • Action Cable for real-time WebSocket communication from mobile clients
- • QR code bilateral exchange patterns and UX flows
- • Mobile camera and image handling with expo-camera and expo-image-picker
- • Cross-platform mobile development targeting iOS and Android
- • Stateful session management with real-time coordination
Project Info
Status
Active DevelopmentTechnology Stack
React Native
Expo
Rails 8 API
Action Cable
WebSockets
TypeScript
Other Projects