Role Overview
We are looking for a skilled Flutter Developer to join our team. You will be responsible for translating Figma designs into responsive Flutter UIs and implementing features using BLoC/Cubit architecture. You will extend navigation capabilities, handle authentication flows, integrate REST APIs, and build real-time chat features. Your work will contribute to evolving the app's theming and ensuring localization across multiple languages.
Responsibilities
- Translate Figma designs into clean, responsive Flutter UI for iOS/Android using Material 3.
- Build features with BLoC/Cubit (flutter_bloc), integrating with existing MultiBlocProvider and states.
- Extend navigation using go_router, including asynchronous authentication redirects via SecureAuthService.
- Implement and maintain authentication flows using Firebase Auth (Google, Apple), secure token storage, token refresh, and sign-out.
- Integrate REST APIs using dio, handling interceptors and retry logic for services like IntroAgentService and AssessmentService.
- Develop real-time chat features over WebSockets, ensuring robust connection management and message stream parsing.
- Configure Firebase Cloud Messaging, including permission prompts and in-app notification handling.
- Localize the user interface using Flutter gen_l10n, managing .arb files and AppLocalizations.
- Enhance theming and components with Material 3, adding dark theme and accessibility improvements.
- Write and maintain tests using bloc_test for cubits and flutter_test for widgets, including mocking HTTP/WebSocket layers.
- Collaborate on iOS/Android build basics and environment configuration.
Required Skills
- Production experience with Flutter/Dart, BLoC/Cubit, and stream-based architectures.
- Expertise in routing with go_router, including guards and asynchronous redirects.
- Proficiency with HTTP requests via dio, including interceptors and error handling.
- Experience with Firebase Core/Auth/Messaging, Google/Apple sign-in, and flutter_secure_storage for managing secrets.
- Real-time communication skills using web_socket_channel, including health checks and reconnection strategies.
- Data modeling proficiency with freezed and json_serializable.
- Localization skills using Flutter gen_l10n.
- Strong debugging, logging (using logger), and performance optimization skills.
Nice to Have
- Experience with CI/CD using GitHub Actions for Flutter build, test, and release processes.
- Experience in building chat UIs and handling notification deep links.
- Familiarity with charting and visualization libraries, such as fl_chart.
- Experience with multi-environment configuration and feature toggles.