Senior React Native Engineer for OpenReal Investor Mobile App
Budget: $1000.0
FIXED /
⭐ 3.11 (9)
ARE
typescript, react-native, android, ios, mobile-app-development
Qualifications préférées
- Expérience : Expert
OpenReal is looking for a senior React Native and TypeScript engineer to build and release our investor-facing mobile application for iOS and Android.
This is not a greenfield backend project and it is not a UI/UX design assignment.
We already have:
- An existing Next.js and TypeScript web platform
- A NestJS, Prisma and PostgreSQL backend
- Existing APIs and infrastructure deployed on DigitalOcean
- Authentication, role-based access and registry workflows
- Sumsub identity-verification integration
- Approved mobile UI/UX designs and components in Figma
- Light and Dark themes
- Existing staging and production environments
Your responsibility will be to build the mobile frontend, connect it to the existing backend, test it thoroughly and help us release it through the Apple App Store and Google Play.
About OpenReal
OpenReal is financial-grade software infrastructure for private-market SPV registry and compliance workflows. The current product operates in Registry Mode. OpenReal provides the technology, controlled workflows, permission system and audit trail. OpenReal does not issue ownership interests and does not receive, hold or move investor funds.
The mobile application must treat the backend and each Structure's Register of Members as authoritative. The mobile client must never independently decide identity status, eligibility, ownership, request approval or transfer completion.
Current Registry Mode scope
The main mobile navigation is: Home | Structures | Positions | Requests | More
The initial mobile application should include:
Authentication and account security
- Account creation and login
- Password reset and recovery
- MFA and session handling where supported by the API
- Secure access-token and refresh-token management
- Secure device storage using iOS Keychain and Android Keystore
- Logout, expired-session and revoked-session handling
- Security and account-activity screens
- Role-based and permission-based navigation
Identity verification and access
- Sumsub MobileSDK integration
- Verification not started / in progress / submitted to Sumsub
- Additional information required / resubmission available
- Identity verification completed / final outcome with no resubmission
- Verification service unavailable / session expired
- Separate eligibility and Structure-access decisions
- Server-authoritative verification and eligibility status
Home
- Account and verification status
- Accessible Structures
- Recent Positions and Requests
- Notices and important actions
- Empty, incomplete, restricted, loading and error states
Structures
- Search, filtering and pagination
- Accessible and Restricted Structures
- Structure Details: Responsible Organization, Issuer and SPV information, Register of Members information, Legal instrument and participant rights, Documents, disclosures and notices, Eligibility and access restrictions
- Loading, empty, restricted and error states
Participation Requests and external funding
- Create a Participation Request
- Unit and indicative-amount inputs
- Confirmations and acknowledgements
- External funding instructions
- Upload funding evidence
- Evidence review status
- Changes required and resubmission
- Approved and declined outcomes
- Register Update Pending / Recorded outcome
Funds are transferred to a designated external account. OpenReal does not receive or hold investor funds. Submitting or approving a Participation Request does not create ownership. A Position appears only after the approved ownership event is entered in the relevant Structure's Register of Members.
Positions and Registry records
- Positions list / Position Details
- Register Entries / Registry Record
- Ownership-event history
- Statements, documents and notices
- Authoritative-record status
- Empty, pending, restricted and error states
Controlled transfers
- Transfer Request creation
- Eligibility and balance validation
- Required documents and acknowledgements
- States: Submitted / Under Review / Changes Required / Approved / Register Update Pending / Recorded / Declined / Withdrawn / Expired / Technical Error
Submitting or approving a transfer Request does not change ownership. Ownership changes only after the authorized transfer is recorded in the Structure's Register of Members.
Notifications, More and support
- Identity-verification, eligibility and access notifications
- Participation Request and funding-evidence updates
- Controlled-transfer updates / Register updates
- Documents and notices / Security and account activity
- Technical system notices
- Profile and personal information
- Terms, Privacy and Legal Notices
- Support and complaint route
Future Tokenization Mode
The application architecture must remain ready for a separate, feature-flagged Tokenization Mode. Future capabilities may include primary subscriptions or purchase orders, payments, token allocation and issuance, buy and sell orders, trades, custody or wallet information, settlement, token positions and redemption where legally permitted. These functions are not part of the initial live Registry Mode and must remain disabled until the relevant APIs, licences, providers, banking, custody, settlement and blockchain architecture receive written approval. The developer must not invent a blockchain network, token standard, custodian, payment provider or regulated operating model.
Technical expectations
- React Native with strict TypeScript
- Expo development builds or React Native prebuild, where compatible with required native modules
- Ability to write or troubleshoot native Swift and Kotlin integrations when necessary
- Typed REST API integration, preferably generated from OpenAPI
- Clear separation between API server state and local UI state
- Safe token refresh and concurrent-request handling
- Secure deep links and universal links
- APNs and FCM push-notification integration
- Secure document selection and upload; file validation, progress, cancellation and retry handling
- Loading, empty, restricted, offline and error states
- Light and Dark themes; responsive layouts and accessibility
- Minimum 44-point mobile touch targets; WCAG AA contrast
- Unit, component, integration and end-to-end tests
- CI/CD for development, staging and production
- TestFlight and Google Play internal testing
- Crash monitoring and privacy-safe logging
- OWASP MASVS-informed mobile security
- No secrets, identity information or investor data in source code or logs
Required experience
- At least five years of professional mobile-development experience
- At least three years of production React Native and TypeScript experience
- At least three production mobile applications
- At least two verifiable React Native applications available through the Apple App Store or Google Play
- Personal experience delivering both iOS and Android releases
- Experience integrating an existing Node.js or NestJS backend
- Experience with authentication, secure token storage and API error handling
- Experience with native SDKs, deep links, push notifications and file uploads
- Strong testing and CI/CD experience
- Experience supporting applications after production release
- Clear written and spoken English
- Availability for at least 30 hours per week
- At least three hours of working-time overlap with Dubai
Preferred experience
- Sumsub MobileSDK or another KYC/KYB SDK
- Fintech, banking, investment, registry or compliance applications
- Multi-tenant platforms; RBAC or ABAC permission systems
- NestJS, Prisma and PostgreSQL
- OpenAPI-generated mobile clients
- EAS Build, Fastlane, Bitrise or equivalent
- App Store and Google Play privacy declarations
- Accessibility testing; Sentry or comparable crash monitoring
- Feature-flagged product modules
Deliverables
- Complete React Native and TypeScript source code
- iOS and Android applications
- Existing-backend API integration
- Development, staging and production configurations
- Automated test suite; reproducible CI/CD builds
- TestFlight and Google Play testing releases
- App Store and Google Play submission support
- API and screen-mapping documentation
- Security and privacy implementation notes
- Known-issues and API-gap register
- Installation, build, release and rollback documentation
- Full technical handover to the OpenReal team
All repositories, application identifiers, store accounts, signing credentials, build accounts and project materials must remain under company control.
Working arrangement
The engagement will begin with a paid, time-boxed technical assessment. Successful completion will lead to a fixed-price, milestone-based contract covering: Figma and API audit; Mobile architecture and application foundation; Authentication, Sumsub and access controls; Structures and documents; Requests, external funding and evidence; Positions, Registry records and controlled transfers; Notifications, settings and security; QA, release and technical handover. We require confidentiality, full IP assignment, clear documentation and transparent disclosure of any subcontracting.
Budget: 1000 USD (fixed price). Timeline: 2 weeks.
How to apply
Answer all five questions:
1. Provide links to your three most relevant live mobile applications. For each application, state whether it uses React Native, what you personally implemented, and whether you handled the App Store and Google Play releases.
2. Describe one application where you integrated React Native with an existing Node.js or NestJS backend. Explain authentication, access-token refresh, API errors, file uploads and duplicate-request prevention.
3. Have you integrated Sumsub or another identity-verification SDK? Explain how you handled SDK-token renewal, pending review, resubmission, session expiry and backend-authoritative results.
4. Explain how you would securely store authentication credentials and handle simultaneous API requests when an access token expires.
5. Confirm whether you are applying as the engineer who will personally perform the work. State your start date, weekly availability, Dubai-time overlap and estimated schedule after reviewing the Figma and API documentation.
Do not apply if your experience is limited to web applications, WebView wrappers, Flutter-only projects, Expo Go prototypes or applications that were never released to production.
Ouvrir sur Upwork
AI proposal draft
Generate a short cover letter for this job. Edit before sending.
Sign in to generate an AI proposal draft.
Connexion