Job Description
We are looking for an experienced Flutter developer to build a high-quality cross-platform mobile application (iOS & Android) dedicated to selling international eSIMs for travelers. The app aims to provide a seamless alternative to buying physical SIM cards abroad.
If you are familiar with apps like Saily, Holafly, or Airalo, our project follows a similar concept.
Scope of Work & Key Requirements:
1. UI/UX Implementation (Figma):
• Pixel-perfect conversion of our Figma designs to Flutter code.
• Theme Support: Full implementation of Light and Dark modes. The user must be able to toggle between them in settings.
• Auto-Detection: The initial theme must automatically match the user’s system settings (e.g., if the phone is in Dark Mode, the app opens in Dark Mode).
2. Localization (Multi-language Support):
• Support for 4 languages: Arabic (Right-to-Left / RTL), English, French, and Spanish.
• Localization must cover the entire app, including error messages and pop-ups.
• Logic: The app should detect the device language on first launch. If the device language is not one of the supported four, it must fallback to English.
• Users must have the option to change the language manually via settings.
IMPORTANT: We will provide all the translated strings/files (e.g., ARB or JSON files) for Arabic, French, and Spanish. You are not required to translate any text. Your role is strictly to implement the technical support for these languages.
3. Backend & API Integration:
• Full integration with our backend using provided Swagger documentation.
• Key features include: User Authentication, Order Creation, Order History, Stripe Payment Gateway integration, and real-time eSIM data usage tracking.
4. Device Compatibility Check:
Implement the esim_compatibility package to verify if the user’s device supports eSIM technology before allowing them to proceed to the checkout page.
5. Technical Specifics:
• Firebase: Integrate Firebase for analytics and statistics.
• Dynamic User Agent: Configure a custom dynamic User Agent for API requests using package_info_plus and device_info_plus.
• Required Format: AppName/AppVersion (Platform; OS Version; Device Model)
6. User Engagement:
• Implement the native In-App Review prompt to appear once, specifically after the user has purchased and completed the eSIM activation.
Deliverables:
1- Clean, maintainable, and well-structured Flutter code.
2- Source code uploaded to our repository.
Thank you.