Partner product at Mobil80
RSVP
A business networking app for a chapter-based community. I turned a static UI prototype into a working app over about 10 weeks.
- ~10 weeksTime span
- 62 of 63My commits
- 17Feature modules
What it does
RSVP is for a business networking community organised into chapters. Members pass referrals to each other (the app calls them LinkUps), thank each other for closed business with Kudos, write testimonials, meet one to one and go to chapter events. The app puts all of that in one place. Meetups and event attendance are checked in the app with a QR code scan and the phone’s location. Members can also chat and run groups.
What I worked on
A colleague made a static UI prototype with placeholder data and no backend. I started on it the same day and built the working app on top of it, from June to August 2026. The backend was a separate project. Everything below is app-side.
- Passwordless sign-in with a 6-digit email code through Cognito, with a password fallback.
- Connecting the app to the GraphQL API, and reorganising the code into per-feature modules in the second week.
- Live updates. Amplify Flutter didn’t have a client for AppSync Events, so I wrote my own WebSocket client. Chat messages, connection requests and notifications arrive on a channel per member and go to whichever screen’s controller is open.
- A nearby-members map that uses each member’s profile photo as their pin, and an SOS alert that sends your location to every member within 10 km.
- One-to-one meetups confirmed by QR code. A meetup only completes when the other member scans the code on the same day, within 1 km of where it was logged. Event check-in works the same way, with a time window and a 50 m radius for in-person events.
- Permissions set by the backend, so features like reviewing membership applications only appear for members allowed to use them.
- English, Hindi and Kannada (about 1,180 strings each), switchable inside the app, and three colour themes in light and dark mode.
RSVP 2
In July I also made a cut-down second version. It loads the member directory from a CSV file in S3 instead of paging through GraphQL. It keeps the list in Hive, downloads it again only when the file changes, and falls back to GraphQL if that fails. One of its unit tests covers a problem the CSV caused. A country code like 91 comes out of the parser as a number, but the app needs the text “91”.
Where it is now
Work stopped at version 1.8.0 in August 2026. The app hasn’t been released.