React Native Developer
Description
As a React Native Engineer, you'll own the mobile experience where users interact directly with Dhruva. You'll build the chat interface and the underlying mobile architecture that allows Dhruva to communicate with users in real time, work reliably on weak networks, persist conversations offline, and render rich AI-generated experiences. This isn't a typical mobile UI role. You'll be working at the intersection of React Native, real-time systems, offline-first architecture, AI interfaces, and financial technology.
Responsibilities:
- Real-time AI chat experiences.
- Streaming AI responses.
- Rich cards and actionable UI components.
- Payment CTAs and financial workflows.
- Credit-score visualizations.
- Documents and contextual recommendations.
- Offline-first conversations and local data persistence.
- Reliable mobile experiences across poor network conditions.
The core requirements for the job include the following:
React Native:
- 1+ years of hands-on React Native experience.
- Production applications shipped to both the Google Play Store and the Apple App Store.
- Strong understanding of React Native architecture and mobile development.
Real-Time Communication:
- Strong WebSocket integration experience.
- Understanding of connection lifecycle and reconnection strategies.
- Event-driven message handling on mobile.
- Experience handling network failures and message delivery.
Offline-First Architecture:
- Hands-on experience with SQLite, WatermelonDB, or similar local databases.
- Understanding of schema design and migrations.
- Experience building offline-first applications.
- Knowledge of synchronization and conflict-resolution strategies.
TypeScript:
- Strong TypeScript proficiency.
- Ability to define strict types from backend API contracts.
- Maintaining type safety across API, state, and local data layers.
Android Performance:
- Experience optimizing React Native applications on Android.
- FlatList/FlashList performance optimization.
- Memory and performance profiling.
- Understanding of the Hermes engine.
- Experience debugging crashes, ANRs, freezes, and performance bottlenecks.
State Management:
- Strong experience with Redux, Redux Toolkit, Zustand, or equivalent.
- Ability to manage complex asynchronous state across network requests, WebSocket connections, local databases, and background/foreground transitions.
- Understanding of race conditions and state synchronization.
Polymorphic / Server-Driven UI:
- Experience rendering different UI components from a common backend data stream.
- Ability to map message types to reusable components.
