About Oolka Oolka serves as a co-branded financial product partner, collaborating with banks, financial institutions, and other entities. Oolka's core mission is to simplify credit management, ensuring transparency and ease of use for consumers. Whether it's a new to credit or aiming to strengthen the financial profile, navigating personal finance can often be complex. Oolka's platform is designed to empower individuals to maintain control over their finances, providing guidance and solutions to traverse the intricacies of credit management smartly. With Oolka, someone can understand, manage, and enhance the credit profile effectively. From personalized insights to actionable tips, Oolka empowers to make informed decisions, navigate credit challenges, and achieve financial goals with confidence.
Job Description Function
Software Engineering → Mobile Development
Responsibilities
- Implement the chat interface for Oolka following established architecture patterns and design specs from our UI/UX team.
- Design the real-time communication layer, a transport-agnostic message pipeline that works across WebSocket, HTTP polling, and future push notification channels without UI-layer changes.
- Architect the local data layer's offline-first storage, sync strategies, conflict resolution, and schema migration patterns that scale as Dhruva adds new capabilities.
- Build extensible rendering infrastructure for AI-native features, streaming responses, polymorphic message types, inline actionable widgets (payment CTAs and score visualisations), and proactive nudge surfaces.
- Handle mobile-specific edge cases: app backgrounding/foregrounding, token refresh, graceful degradation on network loss, and error recovery UX.
- Write well-tested, documented code that the team can maintain and extend as Dhruva's capabilities grow.
Requirements
- 1+ years of React Native with production apps shipped to both app stores.
- Strong WebSocket integration experience with connection lifecycle, reconnection strategies, and event-driven message handling on mobile.
- Local data persistence using SQLite or WatermelonDB, including schema migrations and offline-first patterns.
- TypeScript proficiency in defining strict types from backend API contracts and maintaining type safety across the data layer.
- Performance optimisation on Android FlatList tuning, memory profiling, and Hermes engine familiarity.
- State management with Redux or equivalent handling concurrent async state (network, WebSocket, and local DB) without race conditions.
- Experience rendering polymorphic UI components, mapping different message types (text, rich cards, suggestions, documents) to distinct components from a single data stream.