profile-pic
Vetted Talent

Nikesh Nayak

Vetted Talent

Experienced mobile app developer with 6 years of overall experience in mobile app development,

including 4 years specifically focused on Flutter app development, I specialize in crafting sleek,

user-friendly mobile applications tailored to client needs. I have specialized in creating sleek and

user-friendly apps using Flutter, excelling in Dart programming and intuitive UI design.

With a collaborative approach, I always ensure my apps meet client requirements and exceed user

expectations. I stay updated with the latest trends and actively contribute to the Flutter community.

  • Role

    Sr. Flutter Developer

  • Years of Experience

    8 years

Skillsets

  • ChatGPT
  • Bitbucket
  • Github
  • Jira
  • Node.js
  • React.js
  • Android
  • AWS EC2
  • C++
  • Firebase - 7 Years
  • Claude
  • Docker
  • GitHub Copilot
  • Google Maps
  • MongoDB
  • Razorpay
  • Riverpod
  • stripe
  • Kotlin
  • BLoC
  • C
  • C
  • Dart - 5 Years
  • DDD
  • Flutter - 5 Years
  • GetX
  • Java
  • Android Studio
  • MVC
  • MVC
  • MVVM
  • MySQL
  • PHP
  • Provider
  • Python
  • Visual studio Code

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Flutter Developer (Remote)AI Screening
  • 63%
    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: 57/90

Professional Summary

8Years
  • Oct, 2025 - Present 7 months

    Sr. Flutter Developer

    Volley Biz-Tech
  • Jul, 2024 - Jan, 20261 yr 6 months

    Sr. Full Stack Flutter Developer

    Maize Lab
  • Jul, 2024 - Mar, 2025 8 months

    Sr. Flutter Developer

    One Game Inc.
  • Oct, 2020 - Mar, 2021 5 months

    Sr. Full Stack Flutter Developer

    Point of Sell Digitech
  • Apr, 2021 - Dec, 2021 8 months

    Full Stack Flutter Developer

    Freelancer
  • Jan, 2022 - Apr, 20242 yr 3 months

    Sr. Full Stack Flutter Developer

    IGenerate Technology
  • Jan, 2020 - Sep, 2020 8 months

    Sr. Android Developer

    Azine Technologies
  • May, 2019 - Oct, 2019 5 months

    Sr. Android Trainer/Developer

    Tops Technologies
  • Jun, 2018 - May, 2019 11 months

    Project Trainer & Android App Developer

    Edutech Academy

Applications & Tools Known

  • icon-tool

    Android Studio

  • icon-tool

    Visual Studio Code

  • icon-tool

    XAMPP

  • icon-tool

    FileZilla

  • icon-tool

    Firebase

  • icon-tool

    Postman

  • icon-tool

    Slack

  • icon-tool

    Visual Studio Code

  • icon-tool

    GitHub

  • icon-tool

    Bitbucket

  • icon-tool

    Jira

  • icon-tool

    Google Maps

Work History

8Years

Sr. Flutter Developer

Volley Biz-Tech
Oct, 2025 - Present 7 months
    Developed and maintained a Windows-based application using Flutter for large-scale event operations. Designed and implemented scalable UI/UX in collaboration with product designers and stakeholders. Followed Clean Architecture with BLoC to ensure maintainable, testable, and modular code. Implemented offline-first architecture using Isar to enable seamless functionality in low or no-connectivity environments. Built and optimized real-time data synchronization mechanisms for reliable system performance. Managed tasks using Jira and followed feature-based branching strategies with GitHub. Actively participated in Agile ceremonies, including sprint planning, stand-ups, and demos. Debugged and optimized application performance, leveraging AI-assisted tools to improve code quality.

Sr. Full Stack Flutter Developer

Maize Lab
Jul, 2024 - Jan, 20261 yr 6 months
    Served as a Part-Time Full Stack Flutter Developer on BiteBet, with a primary focus on backend planning and implementation. Designed and developed scalable backend architecture using Node.js and MongoDB, including database schemas and core services. Built and maintained secure RESTful APIs for mobile apps, admin panel, and customer website with proper validation and error handling. Implemented the platforms core bet assignment engine by integrating third-party betting APIs and custom business rules. Developed real-time features using WebSockets for live updates and interactive app flows. Managed production deployments on AWS EC2 using Docker, and handled backend integrations like FCM notifications and Flutter API support.

Sr. Flutter Developer

One Game Inc.
Jul, 2024 - Mar, 2025 8 months
    Served as the Mobile Team Lead, working on the companys product, Torno Game, a competitive gaming platform. Designed and implemented intuitive user interfaces (UI) and engaging interactive features using Flutter. Integrated Unity games within Flutter apps to provide a seamless gaming experience. Implemented RESTful APIs and integrated third-party services such as Firebase, Branch.io, Google AdMob SDK, and Meta Audience Network Ads SDK. Used GitHub and Bitbucket for version control and collaborative development. Performed thorough testing and debugging to ensure a stable, responsive, and bug-free user experience.

Sr. Full Stack Flutter Developer

IGenerate Technology
Jan, 2022 - Apr, 20242 yr 3 months
    My role was as a Team Lead, working on client projects according to the company's requirements and developing their project, which is based on a Restaurant POS System. Designed and implemented intuitive user interfaces (UI) and interactive features to enhance the user experience. Integrated RESTful APIs and various third-party services, including Google Maps and Firebase, to ensure robust functionality. Performed thorough testing and debugging to ensure a stable, responsive, and bug-free user experience.

Full Stack Flutter Developer

Freelancer
Apr, 2021 - Dec, 2021 8 months
    I worked as a freelancer, developing custom projects for my clients. During this time, I completed two major projects: Food Hunt, a food delivery system, and Mataji Fashion, an e-commerce platform. Designed and implemented intuitive user interfaces (UI) and interactive features to enhance the user experience. Integrated RESTful APIs and various third-party services, including Google Maps and Firebase, to ensure robust functionality.

Sr. Full Stack Flutter Developer

Point of Sell Digitech
Oct, 2020 - Mar, 2021 5 months
    My role involved working on client projects according to the companys requirements, as well as leading the development of an e-commerce multivendor platform. Designed and implemented intuitive user interfaces (UI) and interactive features to enhance user experience. Integrated RESTful API and third-party APIs like Google Maps, Firebase, and many more.

Sr. Android Developer

Azine Technologies
Jan, 2020 - Sep, 2020 8 months
    My role involved working on the companys OCR-based product, an SDK specifically designed to streamline and secure authentication processes for banking and government applications.

Sr. Android Trainer/Developer

Tops Technologies
May, 2019 - Oct, 2019 5 months
    My role involved training students and conducting seminars and workshops as required by the institute. I was also responsible for developing mobile applications based on the institute's needs. I was responsible for teaching foundational programming languages such as C, C++, and Core Java to students from non-IT backgrounds. Additionally, I conducted project training sessions and prepared students for placement by enhancing their technical and interview readiness.

Project Trainer & Android App Developer

Edutech Academy
Jun, 2018 - May, 2019 11 months
    My role was to train the students for the final year projects & I had to develop the mobile app as per institute requirements.

Major Projects

5Projects

TORNO

Jul, 2024 - Mar, 2025 8 months
    Torno is one type of Gaming App like Winzo & MPL.

SAHL

IGenerate Technology Private Limited
Jan, 2022 - Apr, 20242 yr 3 months
    Sahl is one type of Restaurant POS system. It is the product of the company. My responsibility was to develop a mobile app for waiters, & guide other developers in the team The project architecture was MVC & GetX State management was used. I had to design and implement intuitive user interfaces (UI) and interactive features. Integrated RESTful API and third-party APIs like Firebase, Push Notifications, Mongoose Device Sync, etc.

REPAIR PRO

IGenerate Technology Private Limited
Apr, 2022 - Dec, 2022 8 months
    Repair Pro is one type of business of Home Repair Services in Dubai. My responsibility was to understand the client's requirements and develop a mobile app for their users & workers. The project architecture was MVC & GetX State management was used. I had to design and implement intuitive user interfaces (UI) and interactive features. I had to develop the REST APIs in Nodejs & integrate them into the app. Also Integrated third-party APIs like Twilio SMS Services, and Firebase Push Notifications.

FOOD HUNT

Freelancing
Nov, 2021 - Apr, 2022 5 months
    Food Hunt is a type of food delivery system.

MATAJI FASHION

Freelancing
Mar, 2021 - Oct, 2021 7 months
    Mataji Fashion is an e-commerce system designed for fabric sellers in Surat city of Gujarat in India.

Education

  • Bachelor of Engineering in Computer

    Ipcowala Institute of Engineering & Technology (2018)
  • H.S.C

    Knowledge High School (2014)
  • S.S.C

    St. Anne's High School (2012)

Interests

  • Cricket
  • Singing
  • Dance
  • Listening Music
  • Reading
  • Learning
  • AI-interview Questions & Answers

    So, let me tell you about myself. My name is Nikesh Nayak, and I am from Nadiya, a city in Gujarat State, which is situated in the country of India. I completed my bachelor of engineering in 2018 with a 7.85 CGPA. After that, I started my career as a native Android developer. And during that period of time, I developed mobile apps using the Android framework. I used the Android Studio and Java XML. Later on, in my career, I decided to start working on the back end as well. So I learned about BHP, my technical skills, and all that. In 2020, due to the difficult time of COVID, I decided to learn the Flutter framework. And at that time, Flutter was relatively new to the market. Just a few years had passed. So I decided to grab that opportunity and learn Flutter during that period of time. And later on, in my next organization, I started working as a full stack Flutter developer. In my career, I always believe that I have to keep myself in a learning phase. So later on in my career, I faced some issues, like the company I was working for closed due to COVID-19. Due to COVID-19, they lost their business. In that period of time, I started freelancing. And in that period of time, I learned Node JS. And other backend technologies, and improved myself and my skills. I've also started developing websites using the product. So from 2020 till now, I've been working as a full stack developer. And I'm very excited about this opportunity that I'm getting. And I'm very confident about my knowledge. Because, as my mother says, always keep our hearts clear. And always keep yourself transparent with each and everyone. That's my side.

    That's the main point. If there's a need to request, which is the last period. I always make it so that payloads can be stored in the map object, you can say it should get stored in the map object. So we can store multiple types of data in a single object. We can pass directly to one function, another function, easy. Like, we can set the data using the map. Okay. And, I think, most HTTP requests are based on REST APIs. Sorry. Based on REST APIs. Okay. So they accept a JSON response and give us a response back as a JSON only. So I use the map object, and I convert to JSON and pass through the URL request. Okay. So it can easily get passed between and, yes, we can handle it very easily because dealing with the last payload, it can be achieved by using the map we have inside the folder. Because if I take multiple variables and pass into the parent, I have to set it manually for each and every parent myself, and that will be very time-consuming, and it will be very hard for a developer. Okay. So I can optimize the Flutter web request by using the map of map data type. Okay. Like, we always use it for a key-value pair. Okay. So that's it for my answer to this question.

    Yes. Flutter is great in the architecture design. Okay. Like, we know about the clean architecture. It simply follows the particular feature. Like, if we are targeting the authentication feature, it helps us to divide our app based on the feature. Okay? And we can also use that feature later on with another project without any extra efforts. Okay? So clean architecture basically is one of the finest things Flutter has. Because, if we are defining a login sign up or everything, we can decide that it's a one type of authentication feature. Okay? So we can create one feature. And, it simply divides us into the domain layer and data layer and presentation layer differently. Okay? So we can connect with the local or remote service easily. Okay? We can create our abstract classes. Okay? And, yes, we can use the block architecture in that feature, which is way better than other architecture for the clean architecture. Okay? So my strategy is to implement that I will use the block architecture. And, I will use the tools which rebuild my model like a builder. It will build my model with the help of some builder runner or adjacent annotations. All are the generators which are available on the prospect of that day booking. And over there, they have already built up generators that can generate from JSON to JSON for myself. So I can simply use that I can simply define the fields and declare the annotations and simply reuse that. Okay. And block also helps me to define the states properly, and I can handle it with the real UI. And, yes, there's a benefit of the clean architecture that we can keep the separate models. And each model can be declared inside the feature log. Like, this is the authentication feature. So I can use the authentication model inside only that feature. Okay. And it separates one feature from another feature. Like, we can create a chat feature folder. So the whole chat gets included in that particular folder. It's a conversation list or a message detail list. Okay? Everything which we require for a check. We can keep all that thing in one folder, and that's the main thing that we can use it later on in another projects also. And I think code availability gets very easy, and it's also generally managed easily by other developers also. So they can just refer the code very easily, and they can understand what the app is built. Okay. How it was developed. It's maintained very easy. So that's my strategy from my side.

    I usually focus on declaring user-defined exception handling to ensure robust error handling when making API calls in Flutter. Okay? Like, if I have defined some errors and anything else, such as validation errors or input that's not properly validated, I can handle those. Or if required input is missing, that's another type of error I'd handle. For example, in the move, they have defined specific status codes and headers for errors. So, I will handle the status code and errors, and create one common class that handles all these error cases based on the status code. If the status code is 411, for instance, I'd define that as one type of validation error term. I will use that exception class to handle the exception case inside the try block whenever we make a network API call. And I will also handle socket exceptions, which are normal for Internet connection availability or lack thereof. Or, we also have unexpected errors, which I'd catch using the exception class. Because if some error is not defined, it should be caught. So that should be done with the help of the exception class.

    Yes. Definitely. Dependency injection is very required in the current large-scale applications. Okay. Because what we'd want to know is the disadvantage of not using dependency injection. Okay. So the thing is that, we are initializing each and everything whenever we visit a screen or wherever we have declared that thing. It should be recreated and deleted. Okay. We need that whenever a screen is opened, everything which should be created at once, and the same object should be used in the whole app. So for that, dependency injection is used. We are using the get-it package. So using that, we can achieve this. For my previous project, I have used it. So for the block provider, okay. Whenever we have to use the block class, okay. The block which we have declared has to be used. We are calling the block provider of the context. So that block should be available for the whole app, okay. So for that, the block should only be created once. Okay. We have done that in the get-it part. It should be initialized when the main function is called. Okay. And it's a repository, a type of service, everything. Remote services, we have created, like, all three more services or chat remote services. So we can directly call that, and it's a very transparent part. Like, we have to simply pass the object of getting from one class to another to initialize each object because it stores all the objects which are getting created in the app. In a single object, and it tells us I have all the references of all objects. So I will share it to each and everyone, and it simply detects if the reference of the object is available or not, or if we forward to initialize that object in the dependency injection file, okay, wherever we are initializing everything at the start of the app, we will get the error. Okay. Because we haven't passed that. Okay. So it simply makes our work easy. Okay. In short, because our app is lagging and any break occurs, or we are fired, or we are having any problem of the object not being available. This block is not available, or at this block context, we are not having any access. Whatever error we are getting regarding that, we can easily achieve using this dependency injection. And it makes our app very smooth. Okay. It's only initialized everything at the start of the app. That's the main power of dependency injection, and I can achieve it using the get-it package. Okay.

    How will you effect our Flutter application to improve performance and maintainability using the Flutter clock? Okay, that's the main thing. Right now, I faced this issue that there was one project where you created in the provider. Okay. And the client said to me that I need to refactor this whole project with the block. So first of all, in that case, I have to look into it that wherever this API calling was happening. That's the main thing because block is basically separating the business logic from the UI part. So what I have to do is decide how many APIs and how many features are there in my app. So based on that, based on the APIs, I can create the block like a login block. We can say that, like, an auth block. In that, we can manage the authentication. Like, another is a get product list. We have created one API. So I can create a get product list API block. This one can get the product list, and I can manage the state of the screen that whenever the product list is fetching from the server. We have to show the different type of data, like a loading screen or a list of products we have to show when the products get back. We have to maintain the state loading state success that fills everything. So we have to create the block on the base of the APIs we have right now and separate the business logic, which we have integrating that particular screen that we have to target from the start. First, we have to target the login screen and then sign up. And whatever the screen which are coming in the path we are getting my which start the migrating. To achieve the performance and maintainability, like you are telling. And blocks itself maintain the code very well. Because one knows the block, knows that maintainability is the main thing. And it's also improves the performance. Because the block has that power. Then it's only will update that particular part over, whichever side you are consuming or like you are listening that part of the UI. You have configured block of that part. That part only will get refreshed, and that's the main thing I like about the block. Inside of other state management like that, refresh all this thing, like the get x and provider and everything. So block is the powerful in that case. So we have the block consumer and block listener and everything. Block consumer has the listener and builder and builder both. So we can use that. And using that, we can refresh the screen. So, I told you that we can create the API calling with the block, convert create the block on the basis of the API and calling that particular screen. And 1 by 1, we can start the migration 1 by 1 screen. That can be achieved like that. I had done that thing like that. That's fine. And if there is another approach, it's acceptable. But I have then done that. What? Like that. Thank you.

    I will load the data and then check the state after the load data event. I will use a debugger to see if the state is changing correctly. I will also use the Flutter DevTools to see if the widget tree is updating correctly. We just test instead of sync. The final block equals my data block.add(loadData). K. Calling the event. Tester.com and silent. I expect later, block, and it's in order. Easy. I think I can ensure it by writing a test case for it. So that's the main thing, even that lock part in there. This thing aside, not an issue. But thank you for this question. I can work on it later. Thank you very much. Let's move on to the next question.

    How do you go about documenting API interactions for future reference and maintenance? That's the main important thing, that further developers will do. And the document comments will be done on each and every widget, on the particular function. Like, what's the use of it. They have to mention the functional aspect, if the function is regarding some calculation, something. They have written that part in the Flutter app. So they have to mention that right away, that this part is done for this. Like, whatever the use of it. Okay, for example, if my function is doing a procedure of text, okay, using some API on Firebase, and so I have to mention that this function gets called. Okay? And it will do the OCR of the image, and we need to use the text. Then I have to describe that, and I have to write the name of the logic and the description. And apart from that, we also have to mention which API is for which use. So we can easily refer to them. And, yes, documenting API is the main factor. Because we have to document each and every parameter. Because someone will not know why this parameter has been defined. So I have to mention that this email parameter is used to pass the email in string. This password parameter is for this. Okay, whatever the purpose of that parameter is. Like, if it's an optional parameter, you have to mention that this is the optional parameter. Whatever you use, like, with a colon, optional, you write over there in italics, like, fashion. So it will simply improve understandability. Whenever they revisit that function, they can simply view that. Yeah, this function is for issues, because we have to write that this function is for issues and this parameter is for this, and what parameter will accept it. Everything you have to mention. So documenting the API is the main factor right now for Flutter developers because most of the Flutter developers are not focusing on them because they are focused on development. But, yes, you get the time. If you have any way to optimize the code, you have to mention it.

    What are some approaches you use to minimize the app size and input the launch time of the Flutter application? Yeah, that's the main factor. Today, for this, I have learned that, for optimizing part, I think this thing usually faced by the Flutter developers, how to decrease the app size. So to decrease the app size, Flutter right now supports tree shaking icons, more tree shaking. I think that's the parameter they are providing. So to achieve that, you can minimize the app size by using no tree shaking icon. And also, you can use some configuration in the gradle part to minimize the app size. Because they have some parameters in the gradle file. Whenever you configure it, like shrink, I think shrink the size or minifying enable type of parameter is minifying enable. That type of parameter is in the proguard file, which helps us to decrease the app size. And also, for the launch time, what you can do is focus on the white screen that's being shown at the app start. So you can change that splash to your app's app icon. So it will look like your app is already loaded. No one will notice that the app takes too much time to load. But you can achieve this using the splash screen. You can place an item, like there's a package available, pop dot dev, named Flutter Flash. But I used the last one so many times. But it helps us to define a logo where you find the wide screen. You can place your logo. And after a few seconds, nowadays Flutter is very fast. So they have improved the app start time. So when the app gets loaded very easily.

    What are your approaches for integrating performance optimization techniques in further applications? Okay. For that, I use Flutter. I always run Flutter in profile mode before going for the release. Okay? So to check that the app is behaving, we have to check the behavior in release mode. So for that, I have used the Flutter run -d dev --profile command. Okay? To check the profiling. And also, we have the inspector and product performance tool, okay, which are provided by Flutter. So we can check network calls. We can decrease network calls. Okay? Because the main thing developers face is repeatedly calling network calls, okay? Because whenever you call a network call, it takes some time to load the data. Whenever you are listing your data, okay, you should focus on the pagination part also because if you're not paginating your list, you will face a performance issue. Always try to not be dependent on too many network calls. Okay. Try to store that data if possible. Okay. Try to store that data in the local part. Okay. And also, sometimes, if I think as part of my concern, sometimes a developer faces an issue because of the back end part also. If your back end provider has given you an API and it's returning data that takes more than 5 seconds. Okay. A response taking more than 5 seconds is a risk. Then that API is not developed very well because if it's getting 5 seconds, you will definitely get more time to load the data. Okay. So that's not the optimal way. So back end API should be optimized also. Okay. And try to store the data in the local part if possible. Try to fetch the data from the local and then do the background API call. Okay? And make sure your API doesn't call redundantly. Okay. Make sure. Because if that part is done, then your app is going to lag. And also, you have to focus on the animation part if you are doing that because mostly animation parts lag the app. So when you have to animate the app, you have to focus on that. Okay. So that's why we use the Flutter performance tool, in which we can see wherever the network calls were very high, where memory usage was very high. Because we have to make sure that when you are cleaning any ticker or any controller, you have to dispose it whenever the widget is getting disposed. Okay? Whenever any control is getting disposed. Like, we are animating something. We are able to close it. If the memory gets leaked, your performance will get down. So that's something you should not be happy about. So I think for that approach, you should definitely use the Flutter performance tool. If there are any third party tools, I haven't used them, but I know there are some tools available. But mostly, I test the app manually and also focus on the Flutter tools. Okay? Thank you very much.

    Open source project, I think I haven't let me think about it because open source code, Flutter code that we admire and what lessons learned from it and tech we apply in our work. Recently, I in the last month, I got the opportunity to work for a company for one week. They were working on an open source project. They were working on a library of one type of messenger. And in that part, I learned that they had integrated a CI/CD pipeline very efficiently. They were using the e2e or e2h testing and doing user testing. And they had written proper each and every test case for the camera features. They had used the clean architecture. And they followed the rules of data very efficiently. So I learned that we have to use data very efficiently because the milestones they had defined and the work was very professional. So I learned from that sort of project that I have to set up my CI/CD pipeline for my project. So that the delivery of the project gets very easy. Right now I do, but not very efficiently. I'm because we are always learning. So we are learning day by day everything by working on other projects. So from that, I learned that we should use, like, it to be testing. It is one type of cracking testing we were using. So I like that. So that makes your app bug-free. And also, you get a headache off of the testing. Because it simply automates and gives you a report. Also, they were using the GitHub pull request and issues. Everything, they were using very professionally, so I like that. And I learned from that I'm following that pattern. I started following, and it is very useful. I'm learning it right now. So that's the thing I learned from it. From the open source project. That's right. Just tell you from my side, I like the intent, and it was very nice. Thank you very much.