profile-pic
Vetted Talent

Mohamed Wasib E

Vetted Talent

At Codewave, my role as a Flutter Developer centers on crafting seamless mobile and web applications, leveraging my expertise in Firebase and state management tools like Getx, Provider, and Bloc. My educational journey at the University of Kerala for a Master's in Computer Applications bolsters my technical foundation, enhancing my ability to deliver high-quality software solutions.


Our team prioritizes user experience, resulting in crystal-clear applications that resonate with users. With a background in Computer Software Engineering from the University of Calicut, I contribute to the development of diverse applications, from e-commerce to educational management, all while navigating the complexities of real-time data and communication systems like WebRTC and Socket IO.

  • Role

    Flutter Lead

  • Years of Experience

    8 years

Skillsets

  • CI
  • JSON
  • Location
  • MAPs
  • Realtime Database
  • Vscode
  • web
  • Xcode
  • App links
  • App store
  • CD
  • Java
  • Codemagic
  • Dependency Injection
  • Dio
  • Firestore
  • GitHub Actions
  • Google Play Store
  • Hive
  • MVP
  • MVVM
  • REST
  • Android Studio
  • Firebase
  • C++
  • WebRTC
  • Flutter
  • GetX
  • Provider
  • HTTP
  • Socket.IO
  • Firebase functions
  • Android
  • PHP
  • BLoC
  • Crashlytics
  • Data Analysis
  • Deep links
  • Dynamic links
  • Firebase authentication
  • Firebase cloud messaging
  • Github
  • Google authentication
  • iOS

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Flutter Developer (Remote)AI Screening
  • 64%
    icon-arrow-down
  • Skills assessed :Ci/Cd Pipelines, Node Js, Dart, Flutter, Flutter framework, flutter_bloc package, Restful APIs, Third-party Libraries, Django, Github
  • Score: 58/90

Professional Summary

8Years
  • Oct, 2024 - Present1 yr 9 months

    Flutter Lead

    Rokkun Systems
  • Oct, 2023 - Oct, 20241 yr

    Senior Flutter Developer

    Codewave Technologies
  • Sep, 2022 - Sep, 20231 yr

    Senior Flutter Developer

    Bellway Infotech
  • Apr, 2017 - Sep, 2017 5 months

    Aadhaar Supervisor cum Entroller

    Akshaya Services
  • Oct, 2017 - Sep, 20213 yr 11 months

    Application Developer - Flutter & Native Android

    CTS Media
  • Oct, 2021 - Apr, 2022 6 months

    Application Developer

    Tektronix Technology Systems

Applications & Tools Known

  • icon-tool

    Apple App Store

  • icon-tool

    Firebase

  • icon-tool

    Crashlytics

  • icon-tool

    GitHub

  • icon-tool

    Android Studio

  • icon-tool

    VSCode

Work History

8Years

Flutter Lead

Rokkun Systems
Oct, 2024 - Present1 yr 9 months
    Leading development of a high-scale Flutter app (mobile and web) using MVVM and Clean Architecture principles. Architected and maintained CI/CD pipelines using GitHub Actions, Xcode Cloud, and Codemagic for automated testing and deployments. Integrated AI-driven drill analysis, enabling intelligent feedback for user performance. Built real-time communication features including WebSockets-based chat, audio/video calling, and live session tracking. Coordinated with cross-functional teams (design, backend, QA) to ensure timely delivery of performant, responsive UI/UX. Championed code quality and best practices through code reviews, testing, documentation, and team mentorship.

Senior Flutter Developer

Codewave Technologies
Oct, 2023 - Oct, 20241 yr
    Flutter App Development, Bloc state management. Movemint - Developed Fantasy Sports App where users can participate/create Challenges and Tournaments, Generate score by doing physical activities like walking, running and cycling, which is tracked with smart watch and then synced to app through BLE, Apple health and Google fit. Contributed for both Project planning, POC (smart watch connection and data collection) and Development.

Senior Flutter Developer

Bellway Infotech
Sep, 2022 - Sep, 20231 yr
    Developed and deployed Flutter Apps (iOS, Android and Web). Getx, Provider and Bloc State Managements. Ecommerce, Trading, Food Ordering and Delivery, Accounts and Inventory, Company Task Distribution, Educational Institute Management App. Achieved development of crystal clear apps from UX, UI designs (Figma, Wireframes etc). Firebase, Maps live tracking and directions, Webrtc and Socket IO Video Audio Calls and Chat system.

Application Developer

Tektronix Technology Systems
Oct, 2021 - Apr, 2022 6 months
    Develop and deploy Expo Native Android Security Applications for Airbus Android Handheld Devices through Soti MobiControl EMM Platform. VAM Vehicle Access Management: To analyze vehicles entered into the expo site. DMS Delivery Management System: To analyze the type of vehicle and the details of delivery items inside it. ESTS Electric Seal Tracking System: To track the vehicle throughout the trip inside the expo site using GPS enabled Electric Smart Lock. AMS Accreditation Management System: To check the Accreditation Pass details of Expo Staffs and workforce.

Application Developer - Flutter & Native Android

CTS Media
Oct, 2017 - Sep, 20213 yr 11 months
    Develop and deploy Flutter (iOS and Android) and Native Android Apps. MVVM, MVP Architectures, Provider, Bloc State Management Tools. Version Control using GitHub. Http, Rest Api, Json, Firebase Cloud Messaging, Firebase Authentication, Phone and Google authentication, Firebase Functions, Dynamic Links, Hive DB, Realtime and Firestore Database and Location Based Packages. Pomodoro Online trash Management Ecommerce Application. E-Cabinet Online Decision Making, Leave Management and KPIs App for government officials in Puntland state of Somalia. KSA Helper Infotainment app for expats In Saudi Arabia. Pravasi Helper Updated version of KSA Helper with more features published for gulf region.

Aadhaar Supervisor cum Entroller

Akshaya Services
Apr, 2017 - Sep, 2017 5 months
    Responsible for setting up of the Laptop/Desktop with Aadhaar client installed and tested, attached with all devices and printer cum scanners and ensure all equipment are in working condition to start Aadhaar enrolments/update.

Major Projects

8Projects

VAM Vehicle Access Management

Oct, 2021 - Apr, 2022 6 months
    To analyze vehicles entered into the expo site. Live Mode will detect current vehicle in each gate or Gone through ANPR Cameras.

DMS Delivery Management System

Oct, 2021 - Apr, 2022 6 months
    To analyze the type of vehicle and the details of delivery items inside it. After document verification, Vehicle will be allowed inside.

ESTS Electric Seal Tracking System

Oct, 2021 - Apr, 2022 6 months
    To track the vehicle throughout the trip inside the expo site using GPS enabled Electric Smart Lock which can only be opened using the Application. It will ensure the safety inside EXPO.

AMS Accreditation Management System

Oct, 2021 - Apr, 2022 6 months
    To check the Accreditation Pass details of Expo Staffs and workforce.

Pomodoro Online trash Management Ecommerce Application

Oct, 2017 - Sep, 20213 yr 11 months

E-Cabinet Online Decision Making, Leave Management and KPIs App for government officials in Puntland state of Somalia

Oct, 2017 - Sep, 20213 yr 11 months

KSA Helper Infotainment app for expats In Saudi Arabia

Oct, 2017 - Sep, 20213 yr 11 months
    Including News, Articles, Job vacancies, Live channels and other programs using YouTube Data Api v3.

Pravasi Helper Updated version of KSA Helper with more features published for gulf region

Oct, 2017 - Sep, 20213 yr 11 months

Education

  • Bachelor Of Computer Application

    University Of Calicut (2017)

AI-interview Questions & Answers

I'm Mohammad Wasip, and I'm a Flutter developer currently. I've been working in this industry for more than 6.5 years. In the beginning of my career, I started working as a native Android developer, which was using Java for our development. And later, I switched to Flutter where I can develop for all Android, iOS, web, and I have graduated with a bachelor's degree in computer science.

So we have multiple methods. I use Android Studio for developing the applications. We can use Visual Studio Code also, any other IDE also. So in Android Studio, we have the debugger options. Well, in the code itself, we can put debug stops in any location, anywhere in the code, and we can see the logs also while running the app. And even when the app is terminated, we can see the errors or the messages we have created in the log. And we can use a debugger also. There is another method which I used at the beginning of my career. I would just print if I failed, if I needed to see something in the console, or I needed to confirm whether we had reached a certain line in the project. I would just print or log whatever was in the code so I could see it in the logs.

Dependency injection, we have multiple methods. Even the state managing is actually a dependency injection. Instead of state management, I'll go with creating singleton classes, which will create a class, and we'll create an instance of the class. We can initialize a class, and we can have multiple methods. We can now save like we can initialize variables also locally in the class so we can access them from anywhere. It's like suppose I'm creating a local storage class where local storage we'll create internal methods, and we'll call local storage, which the local storage has 2 brackets open and close, and we can directly access the methods, the variables, and everything within the singleton class.

We have two methods. I usually do it feature-wise folder structure, and logical-wise folder structure. It's like we create a data folder for keeping all the models, response models, and internal models. And I'll keep the logic file where I'll keep all the blocks, the helper folder which will create all the resources and everything, and utils to save all strings, colors, and everything. And the views folder where we'll create the widgets folder and screen folder inside. The widget folder will contain all the custom widgets we'll use globally inside the entire screens, and the screen folder will contain all the screen files. Or else we'll create a specific file for a screen folder for this screen, and we'll keep widgets used inside the specific screen also. And to improve performance and maintainability using the block package flow, if I'm calling an API and I have to update a specific part of the UI or the specific widget only, then I'll build a block builder. And we just need to update that specific UI instead of updating the entire screen, the UI, the scaffold. Just update that specific part of the UI so it won't take up that much memory.

I usually create an API service class where I'll save, I answered this question before. For future reference in the meetings. I'll create an API service class where we'll have multiple methods for get, post, and patch, delete, and all these types of API calls, and we'll document everything. I'll put comments everywhere. What is this? What's the use of that? And what else you have to pass in which format we have to pass? Mostly we'll pass body, query, and the params in query, a map of string and string, and we'll pass endpoints in a string. It will be like that. I will create an introduction. And if there is any endpoint, we'll create an endpoint file also where we'll save all the endpoints, base URL, and everything. We'll group the endpoints by the type of feature. If it's a blog feature, we'll group the endpoints by blog, and add a comment about this blog endpoint specific blog endpoints. And if there are any users or endpoints, we'll put comments about all the users and keep it together.

How would you optimize a fraudulent network request when dealing with large payloads? Okay, most of the random Flutter HTTP or like the API rest API calls won't have much issue with the large payload. And if there is any, we can split it and send it later, or else we can keep it in a separate isolate. It's very easy, and we can do that.

It's test widgets. Load that event update. State. I'm not sure about this thing. I want to test which, like, I want to run the test, actually.

Okay, so if we have multiple UIs, and like, mobile, a tab, fab, so I usually create different layouts for each. Like, we'll use reuse of components. We'll create the components different in different, and we'll create the main UI layout. Like, if it's below 360 or 400, it's mobile. And if it's between 700 and 800, or if it's between 700 and 400, it's a tab. And if it's above 700, I'll like, assume it's a web. So by doing that, we can easily put these widgets we have already created in specific questions. It's too easy. And we have one more thing to add, and we have we can wrap the if there is any something in instead of a row, we can wrap it or change. If there is a grid view, we can change the cross axis count by the width. Like, is it a mobile, is it a tab, or is it a web? By creating a responsive helper class, which will whenever we call the responsive helper class, we just need to pass the context. It will tell us if it's a mobile or a tab or a web.

If something is not, like, to minimize the app size and improve the launch time of a local application. Okay. Instead of using PNG and JPG file formats for images, we'll use SVG files, which will be very less in memory, and we'll use all the assets, like images, videos, or GIF files. So we'll tell the design team to create them according to the mobile design, which has to be in the mobile design. So we'll tell them to create them according to the mobile design so they won't be much bigger. And another thing is, instead of saving all the images in the app locally, we can send those screens which users don't use that much through the URL of the file through APIs, which we'll get from the backend, and we'll show them. And, for that, it's better to reduce the functions that I have. We are calling at the beginning in the main file of the app. So it's reducing the functions we are calling by putting a weight on this thing. So reducing it will increase the performance of the app while it's loading. Yeah.

Open source Flutter project you admire. Not that much into our own account. I can't remember kind of open source Flutter project. Okay. I have in the beginning of my career, I have gone through many Flutter projects in GitHub to learn all these things. I have, I've then in the beginning, started with state management using Git instead of any state management, then I started with Provider. And in the next stage, you started using KedX, and I used it for almost a year. And then I started with Bloc. It's too good for the app's performance. And I have learned many things, like folder structuring and creating specific service classes for, like, a request and if there is any data that we have to use across the application, creating single instance classes which we can access from anywhere. And creating models in a different directory and dividing the folder structure by response models and request models, which we'll send through the body and structuring the entire app through the clean architecture.

I have used CICD, using Fastlane to distribute the app through Firebase distribution, and could we suggest a strategy to enhance it? Yep. Streamline code deployment. I'm not sure about streamlining code deployment, but I'll tell you how I deployed through like through Fastlane. So I created the Fastlane folder, inserted the app and the CICD folder with files. And I kept all the rules on how to create the bundle ID or the APK, giving all the filter build APK split by API level if needed. I also used flavors, so I put the specific flavor name. And Firebase was already connected. So we just need to put the project number and these things, and it was successfully working. And there's another option, GitHub Actions, which we can also use for CICD, which I used a couple of times also.