Role Overview
We are seeking a Mobile App Developer to complete and extend a live cross-platform mobile application built with React Native (Expo) and Firebase.
The app currently supports real-time messaging when active, but requires implementation of reliable background message delivery via push notifications.
Messaging is currently delivered via Firestore listeners when the app is active, and requires extension to background delivery using push notifications.
The initial focus will be delivering a stable v1.1 release, followed by scalable enhancements to grouping and messaging architecture.
Responsibilities
- Finalise and stabilise real-time messaging, including reliable message delivery via push notifications when the app is closed or in the background.
- Implement event-driven push notifications using Firebase Cloud Messaging (FCM), including APNs configuration for iOS to ensure users receive messages even when the app is closed.
- Collaborate on future enhancements to improve app functionality and user experience.
- Development is carried out in Visual Studio Code for development and manage native builds through Xcode and Android tooling as needed.
- Work with Firebase to manage backend infrastructure, including user authentication, profile storage, and media storage.
- Ensure notification reliability, including handling edge cases such as app background state, device token refresh, and network interruptions.
- Design and implement notification logic including:
- triggering notifications on new messages
- badge count updates
- suppression during quiet time
- avoidance of duplicate notifications
Required Skills
- Essential - Experience implementing event-driven push notifications using Firebase Cloud Messaging (FCM), including Cloud Functions triggers and background delivery handling in React Native (Expo).
- Proficiency in React Native and Expo for cross-platform mobile app development.
- Experience with JavaScript for building and maintaining a single codebase.
- Familiarity with Visual Studio Code for development.
- Knowledge of using Xcode for iOS builds and Android tooling for Android builds.
- Experience with Firebase, including Firestore for real-time messaging and cloud functions.
Nice to Have
- Understanding of media storage and user profile management in a cloud environment.
- Familiarity with working in the UK timezone to ensure effective collaboration.