profile-pic
Vetted Talent

Hardik Viradiya

Vetted Talent

As a skilled Flutter and native Android developer, I bring three years of immersive experience in Flutter development coupled with 6 years in native Android expertise. My foundation encompasses an adept understanding of Google services, REST APIs, cloud databases like Firebase, and seamless integration with various payment gateways. Embracing Clean architecture and Bloc design patterns is ingrained in my approach to crafting robust applications.

My track record speaks for itself, marked by a series of high-quality, responsive apps from conceptualization to a triumphant release on both the Play Store and App Store. I am dedicated to delivering excellence, driven by an innate enthusiasm for transforming concepts into tangible realities.

While I'm continuously honing my craft as a top Flutter developer, my standout attribute lies in communication. I prioritize clarity, always seeking the right questions before initiating work and presenting optimal solutions. My commitment to transparency ensures an open dialogue throughout our collaboration.

Seeking opportunities for long-term partnerships, I offer:

Professional Design Expertise Leveraging Flutter

Swift and Responsive Communication

Ongoing Support for Flutter App Development

Comprehensive Flutter App Source Code

Unlimited Revisions Until Absolute Satisfaction

I am committed to elevating your project with reliability, enthusiasm, and unwavering honesty. Let's embark on this journey together and bring your aspirations to fruition!

Open to engaging in full-time, part-time, or long-term commitments.

Warm regards,

  • Role

    Senior Mobile Application Developer

  • Years of Experience

    11.8 years

Skillsets

  • BLoC
  • Retrofit
  • Payment integration
  • Google APIs
  • Mapbox
  • Google Maps
  • Braintree
  • Web3j
  • Android Studio - 11 Years
  • Xcode - 2 Years
  • Accessibility
  • Blockchain
  • Fastlane
  • Hive
  • Flutter SDK
  • Navigation
  • Room
  • Riverpod
  • Provider
  • Codemagic
  • Sqflite
  • Drift
  • Obfuscation
  • Localization
  • Intl
  • a11y
  • Wallet
  • Live location tracking
  • RESTful services - 8 Years
  • Coroutines - 3.0 Years
  • UI/UX - 9 Years
  • Rest APIs - 9 Years
  • GraphQL
  • Kotlin
  • Android - 8 Years
  • Java - 3 Years
  • Kotlin - 4.0 Years
  • Flutter - 5 Years
  • GitLab - 7 Years
  • MVC - 7 Years
  • C
  • Dart - 5 Years
  • Restful APIs - 11 Years
  • CI/CD
  • Dependency Injection
  • Encryption
  • Firebase - 6 Years
  • Gradle
  • Java
  • Jetpack Compose - 1.0 Years
  • MVP
  • MVVM
  • Performance Optimization
  • REST
  • REST API
  • Security
  • Services
  • State management
  • stripe
  • UI Testing
  • Unit Testing
  • web3
  • Coroutines
  • LiveData

Vetted For

13Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Android Developer (Remote)AI Screening
  • 70%
    icon-arrow-down
  • Skills assessed :Strong Communication, asynchronous operations, Kotlin, MVVM, Restful APIs, Retrofit, Android, Firebase, Git, Java, Proactive, Problem Solving Attitude, XML
  • Score: 63/90

Professional Summary

11.8Years
  • Feb, 2024 - Present1 yr 7 months

    Tech Lead - Mobile

    Yooli Health Solutions
  • Jan, 2024 - Present1 yr 8 months

    Freelancer

    Freelancing
  • Sep, 2017 - Present8 yr

    Android Developer/Tech Lead

    LeewayHertz IN
  • Jan, 2017 - Sep, 20214 yr 7 months

    Senior Android Developer

    Ncrypted Technology PVT LTD.
  • Sep, 2021 - Jan, 20242 yr 4 months

    Mobile Application Developer

    Leewayhertz
  • Sep, 2021 - Jan, 20242 yr 4 months

    Mobile Application Developer/Tech Lead

    LeewayHertz IN
  • Mar, 2015 - Jan, 20171 yr 10 months

    Android Developer

    Keshav Infotech
  • Mar, 2015 - Jan, 20171 yr 10 months

    Senior Android Developer

    Keshav Infotech
  • Jan, 2014 - Feb, 20151 yr 1 month

    Junior Android Developer

    iGreenTech services
  • Jan, 2014 - Feb, 20151 yr 1 month

    Android Developer

    iGreenTech Services

Applications & Tools Known

  • icon-tool

    Java

  • icon-tool

    Kotlin

  • icon-tool

    Flutter

  • icon-tool

    Dart

  • icon-tool

    Android Debug Bridge

  • icon-tool

    Android

  • icon-tool

    Android SDK

  • icon-tool

    Android Studio

  • icon-tool

    Visual Studio Code

  • icon-tool

    Google Ads

  • icon-tool

    Google Chrome

  • icon-tool

    Google Play Console

  • icon-tool

    Firebase

  • icon-tool

    Firebase Realtime Database

  • icon-tool

    GitHub

  • icon-tool

    GitLab

  • icon-tool

    Bitbucket

  • icon-tool

    Zoho

  • icon-tool

    Jira

  • icon-tool

    Slack

  • icon-tool

    Microsoft Teams

  • icon-tool

    Zoom

  • icon-tool

    Eclipse

  • icon-tool

    VSCode

  • icon-tool

    Flutter SDK

  • icon-tool

    Github

  • icon-tool

    Bitbucket

  • icon-tool

    Xcode

Work History

11.8Years

Tech Lead - Mobile

Yooli Health Solutions
Feb, 2024 - Present1 yr 7 months
    As an Android Tech Lead, I oversee the development of scalable Android applications, providing technical leadership and optimizing performance. I design architectures using MVVM, MVP, and MVI and manage CI/CD pipelines with Jenkins and GitHub Actions. I handle API and database integrations, ensure Firebase and security best practices, and focus on theming responsive design, and the latest Android technologies like Jetpack Compose and Coroutines. I lead testing efforts, manage platform integrations, and mentor team members while communicating clearly with stakeholders.

Freelancer

Freelancing
Jan, 2024 - Present1 yr 8 months

    I am working as full time freelancer

Android Developer/Tech Lead

LeewayHertz IN
Sep, 2017 - Present8 yr
    Feasibility check, Help solving issues of team members, Designing (XML), Development, Basic testing

Mobile Application Developer/Tech Lead

LeewayHertz IN
Sep, 2021 - Jan, 20242 yr 4 months
    During my tenure, I spearheaded the technical aspects of mobile app projects. This involved leading a team in designing, coding, and testing applications for platforms such as Android and iOS. I emphasized adherence to coding standards and fostered a collaborative environment to ensure project success. Managing the project lifecycle, I prioritized problem-solving and staying updated on emerging technologies. Additionally, I championed security and compliance while promoting a culture of innovation within the team. Through effective communication and documentation, I facilitated the delivery of high-quality, secure, and scalable mobile solutions.

Mobile Application Developer

Leewayhertz
Sep, 2021 - Jan, 20242 yr 4 months

    Worked as tech lead for mobile applications

Senior Android Developer

Ncrypted Technology PVT LTD.
Jan, 2017 - Sep, 20214 yr 7 months
    During my tenure, I was responsible for designing, coding, and testing complex applications, ensuring high performance and responsiveness. I led architectural decisions, mentored junior developers, and optimized performance to deliver quality Android solutions. Staying updated on industry trends, I fostered collaboration and effectively communicated with stakeholders, contributing significantly to the success of projects.

Android Developer

Keshav Infotech
Mar, 2015 - Jan, 20171 yr 10 months

    Worked as Android developer.

Senior Android Developer

Keshav Infotech
Mar, 2015 - Jan, 20171 yr 10 months
    Gather requirements from client, Analyze requirement and Prepare documents, Development, Basic testing and Deployment

Junior Android Developer

iGreenTech services
Jan, 2014 - Feb, 20151 yr 1 month

    Worked as junior android developer

Android Developer

iGreenTech Services
Jan, 2014 - Feb, 20151 yr 1 month
    Development and basic testing

Achievements

  • Beginner in flutter development
  • Computer Hardware & Networking
  • Attend seminars by GDG
  • Attend a seminar on Ethical Hacking organized by Nirma University, Ahmedabad
  • Computer Hardware & Networking.
  • Attend seminars by GDG.
  • Attend a seminar on Ethical Hacking organized by Nirma University, Ahmedabad.

Major Projects

13Projects

BooknRide

    With BooknRide app, booking a ride has never been easier. It quickly goes through a number of procedures of available services and enables you to select one of them that matches well with you.

TaskGator

    TaskGator is an On Demand marketplace app that serves the end-to-end workflow for searching, hiring, managing, and rating taskers for on-demand services.

GETTR: Social Media Platform

    Break away from Big Tech and join an inspiring, uplifting, positive social media platform for all! GETTR wants to bring enjoyment back to your social media experience by supporting freedom of independent thought and rejecting political censorship.

Deliveroo

    Deliveroo is a premium food delivery platform that focuses on quality independent mid-high-end restaurants in the UK. The platform is smartly designed to navigate seamlessly in a user-friendly fashion and allows users to search, research, and order delivery at restaurants according to their live or specified location, or by cuisine or food type.

Jadu Ride

    With Jadu Ride app, booking a ride, sending a package, and renting a car have never been easier. It quickly goes through several procedures of available services and enables you to select one of them that matches well with you. The app secures data and secrecy. Drivers will have a range of vehicles, which includes sedans and utility vehicles. It puts its whole focus on driver-based requirements such as navigation details, ride details, user details, etc.

Moovl

    Moovl is an innovative carpooling app that facilitates ride-sharing for drivers, passengers, and travelers of all kinds. Our application lets drivers share their trips and empty seats with potential riders, making the journey easier, more affordable, and sustainable for everyone.

Fixlers

    The Fixlers app gives you real-time access to pros all around you. Tackle those to-dos on YOUR conditions, help is right around the corner! Book almost any home service you can imagine with Fixlers. Search a specific keyword or browse the gig jobs in our catalog and book your service instantly. Can't find what you're looking for? Post a custom request and get quotes from ready and willing helpers in your community.

Realsnf

    Realsnft - an NFT marketplace where users can create (With video editing feature) and buy or sell any video content as NFT using cryptocurrency, and also can like and comment on videos.

Gettr

Leewayhertz
Jan, 2022 - Jan, 20242 yr

    Break away from Big Tech and join an inspiring, uplifting, positive social media

    platform for all! GETTR wants to bring enjoyment back to your social media

    experience by supporting freedom of independent thought and rejecting

    political censorship.

Realsnft

Leewayhertz
Sep, 2021 - Jan, 2022 4 months

    Realsnft - an NFT marketplace where user can buy or sell any video content as

    NFT, also can like comment on videos.

GET: Food Delivery

Ncrypted Technologies
Sep, 2020 - Sep, 20211 yr

    GET: Is the premium food delivery and restaurant reservation platform that

    focuses on quality independent mid-high end restaurants in London. The

    platform is smartly designed to navigate seamlessly in a user friendly fashion

    and allows users to search, research, and order delivery, collection of reserve

    tables at restaurants according to their live or specified location, or by cuisine or

    food type.

Book n Ride

Ncrypted technologies
Sep, 2019 - Sep, 20201 yr

    With BooknRide app, booking a ride has never been easier. It quickly go through

    number of procedures of available services and enables you to select one of

    them that matches well with you.

    The app secures data and secrecy. Drivers will have a range of vehicles, which

    includes sedans and utility vehicles. It plainly puts its whole focus on driver

    based requirements such as navigation details, ride details, user details, etc.

ShareCaar

Ncrypted Technologies
Sep, 2018 - Sep, 20191 yr

    ShareCaar is a standard ride-sharing service app. A user logged in can book a

    ride provided by other users or can share his ride and book passengers for it.

    The smart search algorithms make it very easy to show rides nearby any place

    user wants to get picked up or dropped off to making the flow total hassle free

    and seamless.

Education

  • Masters of Computer Application(MCA)

    Gujarat Technological University (2014)
  • M.C.A.

    Gujarat Technological University (2014)
  • B.C.A

    Saurashtra University (2011)
  • B.C.A.

    Saurashtra University
  • S.S.C

    Gujarat Secondary & Higher Secondary Education Board (2006)
  • H.S.C

    Gujarat Secondary & Higher Secondary Education Board (2008)
  • H.S.C.

    Gujarat Secondary & Higher Secondary Education Board
  • S.S.C.

    Gujarat Secondary & Higher Secondary Education Board

Interests

  • Watching Movies
  • AI-interview Questions & Answers

    Thank you. So hi. Uh, hi there. My name is. And, uh, I have a total 11 years of experience in mobile application development. I've started, uh, like, I've completed my MCA in, uh, master of computer application in 2014. And since I've, uh, since, uh, January 2014, I'm working as an junior I have started working as a junior in developer. And since then I've, uh, worked with 4 different companies, I've I've, uh, worked with beta, uh, little bit, uh, on the platter itself, uh, in in between, like, uh, but I mostly work with Android. So, uh, yeah, I I will mostly work with, uh, all kind of tooling. Like, I work with the social media applications. I work with the financial application like Wallet and, uh, cryptocurrency related. I work with dating application. I work with, uh, Yeah. So I think, um, almost I've worked with, uh, all domains, like, mostly all domains. And, uh, yeah, that is, uh, about me. And, uh, since, uh, my last company, I was working as an entry developer, but they they wanted to move to, uh, react native with their reps. And, uh, they were they were, uh, they were they have only few reps. Uh, they have 4 reps. It's for the for the product based company, and, uh, they have they wanted to know to, uh, reactivity. So that is why I'm looking for a change. And, uh, yeah, that is all about me. Like, I'm I'm married, and I have a a kid, uh, 2 year old daughter. So, yeah, that's about me.

    In this scenario, would using your Intel service be more beneficial than reducing yourself? Yeah. So, uh, let's say, uh, there is a scenario where the task which we are going to be executed in the in the service, which is related, uh, to the Excel or, uh, any particular thing, uh, which is which is executed based on any, uh, user action or any, uh, particular, uh, Excel, uh, which is provided by either the app or, uh, either the system. So in that case, uh, the intent service will be a great fit. Like, let's say, for example, uh, we wanted to execute something when there is a very low battery level, or, uh, we wanted to execute something when, uh, user have, uh, provided a specific input or either user have clicked on any button or user have, uh, set the time of that, uh, particular, uh, task. So in that case in that case, the intent service will be a very, uh, will be a great fit, I I think. Yeah.

    Can you out the the state security store? The sensitive to the user is entered key store system. Yeah. So, uh, basically, entered key store system is a is a way to store a sensitive data, like, let's say, ID password and things like that. So, uh, if we want to store our edge sensitive data in key store, so there will be, uh, we have to, uh, call the key store classes and, uh, use those classes to store the data, store and retrieve the data. So, uh, let's say if we want to store the store the data securely, send the guest, uh, like, uh, basically, KeyStore itself, uh, stores the data securely. So there is, uh, none, uh, like, like, uh, for normal applications, there'll there'll be no need to add extra security layer because, uh, key store, uh, in risk key store itself, uh, secure, uh, way to store the data. But if we like, let's say, if we want to, uh, make it more secure, uh, for some, uh, application or some use cases, so in that case, uh, what we can do is, uh, we can, uh, like, encrypt those data. Like, let's say, I'm I'm I'm storing the password to, uh, key store system, but I am not storing as a plain password, like, all of or a plain text. I I, uh, what I will do is I'll first encrypt that using a a key or using any algorithm, like s h a 256 or any like like, any way, I'll, uh, encrypt it. And, uh, whenever I'll, uh, retrieve the information of the retrieve the data from from the Android key store, I'll, uh, decrypt it and use it. So in that case, like, we also have to store the security key, like, the public and private keys to the both terms or, uh, to encrypt or decrypt data. Uh, we have to store those keys also in the in the key store system. And, uh, yeah, we can do it that way, or I thought we can store the, uh, public key on, um, on a server or somewhere or on a cloud somewhere. So, uh, using that, we can also, uh, like, integrate the data. Yeah. So that is, uh, how we can show the data securely on Android East Coast system.

    Yeah. So, uh, let's say there is a a list of images of which we want to show, uh, so, uh, on on a single screen. So in that case, I I would, uh, firstly use a recycler view. And, uh, yeah, recycler view helps, uh, RecyclerView introduce a lazy lazy loading, uh, using which, uh, the list which we are showing will be very responsive. And, uh, yeah, it will be fast, I would say. And, uh, too many of the images, uh, like, I would I would use a library like Picasso or Glide, uh, using which we can, uh, manage the bitmap or images, uh, very easily, uh, without any memory leak issues. And, uh, we can also, yeah, create our own, uh, like, let's say, our own solution, uh, similar to Picasso or, uh, Glide. But, uh, I would suggest, like, uh, to use the Picasso Glide. So in that case, uh, we don't have to, uh, worry much about the because it's a it's a well trained, uh, or, uh, vastly used, uh, platforms. And, uh, using, uh, like, uh, there will, uh, there will be very less issues, uh, instead of, uh, we are we are developing. Like, uh, if we let's say, if we create a custom solution so that, uh, that can be that cannot be error prone. Like, uh, there may be a few errors, but, uh, the Picasso and Glides are, uh, Glide are, uh, very, uh, used. Like, it's it's, uh, working with images since, uh, last few years, so they might be, uh, very upgraded. So there will be less chance to, uh, any error or the memory issues. So, yeah, I would, uh, use a Picasso or Glide or any image, uh, loading library. And that case and I'll, uh, use a recycle view to solve list. Yeah. And, uh, if we are using a list view, let's say, we, uh, in this question, we have, uh, specifically to list view. So in that case, I'll, uh, what I will do is I'll make is make a few changes in his adapter. And, uh, that way, I'll, uh, let an adapter will use, they will, uh, make some changes and, uh, list 2 adapters so that way we can, uh, populate the data easily.

    Yeah. So, uh, in input, like, uh, state management is a very crucial, uh, part, and, uh, I would suggest I'll, uh, I, uh, use live data and view manager and those kind of, uh, classes. Let's say the application is very large and, uh, there are multiple components, 80. So I would, uh, and then the check, pick, compose. Uh, I will use a a statement as well, uh, I'll, uh, like, uh, there will be a particular state, uh, assigned to a particular screen. And based on the, uh, changes on the state variable, uh, they will, uh, update the JPEG compose, uh, view. So I would so the basic strategy, uh, would be, uh, making this, uh, a different screen for different different state for different UI. And, uh, yeah, it is, uh, all we will be needing. Like yeah. That would be a best strategy, I think, uh, because, uh, every, uh, if every screen have, uh, if every screen have, uh, a space, uh, state management classes. So in that case, what we'll, uh, we'll be able to achieve is, uh, like, let's say there are 5 screen, which is currently active, uh, one upon another. Like, uh, full screen is in on post it and one screen is in, uh, a few state. So in that case, like, uh, if there is there are changes and then, uh, all the 5 screens. Let's say there is a variable, uh, which, uh, which is, uh, which affect things all the 5 screens. So let's say there is a change in that variable, so we'll be able to execute those, uh, changes in a different, uh, like, differently because, uh, the state of the classes are different, and, uh, we can, uh, execute those, uh, on a differently. So whenever there, uh, the user go, they exclude the previous screen. The changes executed there, and, uh, like, the variable is already changed. So whenever user calls on resume, uh, method, So at that time, the change will happen. So I think that will be the best strategy.

    Yeah. So, uh, basically, a repository layer is a layer where, uh, we are getting the data. So the other layers, uh, do not concern, like, how we will getting the data or from where we are getting the data. So, uh, the repository layer is basically our, uh, layer where we are getting data. So, uh, if we, uh, if we, like, discuss how you would use a repository data and flag data to be able to pull the data layer for yeah. So, uh, date, uh, repository module is itself a module which decouples data layer from from the view model. Like, let's say, for for example, like, let's say there is a tape where, uh, we are using, uh, a network data and, uh, a local storage. So we are using both. So let's say, uh, for for the first time, we have, uh, update the data from the network, and we have stored it on the local database. And then, uh, from the second time onwards, uh, until there is, uh, any change on the live data, we will, uh, sorry. Uh, until there is a change, uh, in the in the in the data on the cloud, we will what we will use is we will use data stored in the local database. So and that, uh, the repository layer manages, uh, the, uh, phasing of the data, like, uh, if there is any change. And, uh, based on the change, uh, if we want to, uh, fix the data from the network, so the repository may, uh, repository layer will minute that. And, uh, using a live data, we will, uh, update the live data, uh, at the time of change. So in that case, uh, like, a view model will will be not, uh, like, attached to the repository layer or the data fetching or data, um, gating layer. Every time, like, uh, if there is a change on the on the data at the repository layer, either fetch it from the network or fetch it from the database and, uh, pass those data to live data object. And so that, uh, that way, it will be managed, and, uh, view model have only how to refresh those data or update those data. Yeah. So that way, we can, uh, achieve that.

    In Kotlin, that what would what will be the outcome if c user function is called with unknown initialized user data object. Initialized user data object explaining the potential issue and how it could resolve them. Yeah. So, uh, in that case, if, uh, the same user is called with unknown initialized user data. Let's let's say user object is, uh, not initialized or user class, uh, is not initialized. In that case, like, uh, I think they'll give error to initialize the data first on, uh, the user if if the user is a nullable variable, uh, from from from where the same same user is called, In that case, it will allow, uh, to call the function. But here, uh, it will check it is checking that, uh, it is checking that, uh, how, uh, like, if the user is null or no. In that case, like, uh, if the user is null, so it will, uh, pay it it is printing a logo workflow, and, uh, otherwise, it will, uh, store in the database itself. And, uh, yeah. So now, uh, if the user data is not initialized, in that case, uh, like, uh, the, uh, save user function call itself will give the error because, uh, user, uh, is because that, uh, uh, Kotlin, uh, monitor the, uh, variables whenever there, uh, there is, uh, like, when whenever the null, uh, or no null, uh, it's, uh, non null object is, uh, is not in the slide. Like, let's say, we have a user late in it, uh, for, uh, for the user data, and let's say we are not initializing that in in in everywhere, and, uh, it will give a error to initialize it first. So, uh, whenever they will, uh, like, we'll call the user consent, it will, uh, at the time of compilation itself, it will give error or, uh, it will also give error at runtime. So it will, uh, give error that, uh, the data, uh, we are using, the user data, is not initialized, uh, anywhere. So, yeah, in that case, uh, we what we can, uh, show is we can, uh, create a nullable, uh, instance of the user data instead of deleting it. So in that case, uh, our function will handle if the user data is null, uh, if it is not. So, yeah, we can create an enable object of the user data instead of updating it object, and, uh, that way, we can resolve this.

    No. Object to it, we have to suggest to convey to move itself up to view within different parts of yes. So to, uh, like, uh, like, uh, to use this function, this launch activity function using a different lab, uh, part of the activity. In that case, we what we have to do is, uh, we have to, uh, put the context as an argument. So every time, like, uh, we will get 2 arguments, uh, one will be context, uh, of the classes, uh, from where we are using this launch activity function, and the other one will be, uh, the activity. I mean, uh, the class we want to redirect to. And, uh, yeah, there'll be, uh, like, uh, there are many things we can add here. Like, uh, we can also add arguments or a bundle. So which using which, we can pass the data from this activity to another activity. But, uh, yeah, basically, uh, that, uh, the bundle, uh, variable, uh, will be an optional thing because, uh, we will not be having, uh, we will not be passing the data every time. So that will be a 1 or 2 time thing or, uh, it will be not a regular thing. So we can make it optional, and we can use the context, uh, as a variable. Uh, sorry. As a request parameter. Uh, we can use context at a request parameter. So there will be, uh, 2, uh, parameters, context and activity, and then the 3rd parameter bundle will be Hoexner. And using which, uh, we can use this, uh, functional as it is. But, uh, instead of this, uh, the we have to use the context, uh, context or object. And, uh, before the start activity, we have to, uh, put a condition. If condition, if the bundle is not null. So in that case, we have to add, uh, intent dot output extra and then bundle. And, uh, yeah. Uh, so that way, we can use this, uh, function from anywhere. Uh, like, uh, like, let's say, we are we have 6 or 7. Sorry. We have 6 and 7 screens in our application, and we want to use the same function to, uh, redirect from, uh, one screen to another. So, yeah, for every places, I think we can,

    Yeah. So, uh, in that case, like, uh, I'm I'm creating an application, and it is expected to get a high, uh, uh, high, uh, users or high, uh, network request. So the volume, uh, will be very large. So in that case, what I will do is I will first, uh, create, like, I'll choose an, uh, beacon or, uh, server, which is, uh, very, very good with a high request. Let let's say there are, uh, 50 request in a second or 80 request in a second. So I would, uh, choose the base server or a base to begin, uh, for the API calls based and response. And from, uh, my end, from front end, like, let's say, I'm I'll I'll use a proper uh, API calls. Like, let's say, I'll I'll add, uh, validation on every API call. Like, let's say, uh, user token or, uh, I'm I'll I'll use authentication and, uh, every API call. So in that case, we will, uh, neglect the API calls which are, uh, coming from non user or, uh, which are, uh, not related like like or known users. So we can neglect those calls first. Secondly, I'll, uh, cancel every request. Uh, like sorry. Not cancel every request, but cancel the request which, uh, user, uh, no more required. Like, let's say, user have come to a page, uh, where API have call. Yeah. Like, let's say, there is a 2 API call on that page. So whenever user comes to the page, the 2 API codes are made, and, uh, user instantly goes back, uh, without, uh, getting the result or before getting the results. So in that case, what I'll do is I'll cancel those request. Cancel those 2 requests so there will be a very, uh, like like because of, uh, this, uh, there will be, I think, a few, uh, request call. And, uh, thirdly, what I'll I would, uh, do is, uh, if there is any static thing or static data or there is any data which, uh, updates, uh, rarely. Like, let's say, there is some some data in our app, which, uh, rarely updates in a month or in a 2 months. So I'll switch, uh, those data in our local database, and I'll fix the data from there. And I'll definitely, uh, put on a on a to token or a way, uh, so that I can identify the data on the server has updated. So I have to call those data again and, uh, update those data in my local message. So, yeah, using these techniques, I can I, uh, we can achieve the, uh, like, reliable under heavy, uh, network traffic?

    Yeah. So, uh, my, uh, strategy would be, uh, like, let's say, uh, there'll be, uh, 3 branch. First, uh, first is a main branch or, uh, or a parent. Let let's say main there is a main branch. There is a a staging branch, and there is a development. And so in that case, like, we'll first develop and, uh, staging brat sorry, development branch. We will, uh, create a different, uh, branch for different, uh, functionality or different, uh, issues. And let's say if, uh, let's say I'm I'm I'm working on a functionality. So once I'll I'll finish the functionality and test it on my I'll, uh, boost this to a development branch where, uh, someone will review the core of the of the branch and then merge it. And, uh, after that, there will be a testing. Uh, there is a proper testing and, uh, using which we can identify the issue and resolve their own. So after that, we will, uh, move to, uh, next branch, uh, publish uh, sorry. Uh, like, let's say there is a development. There is a, uh, other branch, uh, production branch. So we will move to that production branch, and, uh, there also, we'll, uh, take the details, like, test the, uh, thoroughly, uh, for any, uh, issues or anything. And if that is working fine, then also we will be moving to the main branch. And whenever there will be a push in main branch, if we will say it as c, uh, CD, like, let's say, uh, code magic or something. So, uh, using the code magic, we will, uh, what we will do, like, we will set the function that, uh, if we are getting any boost in the main branch, so in that case, we will, uh, update, uh, the AirPods player. So we'll, uh, set up the, uh, black code magic or similar for for the main branch. And whenever there is boost, the code, uh, code magic will, uh, execute the, uh, execute the, uh, code on the main branch and, uh, create a new release and, uh, push it to Play Store and send it to review. So in that case, we don't have to do anything. But, yeah, we we have to make sure that, uh, there will be no unauthorized, uh, push on the main branch. And, uh, so using, uh, like, that way, we can achieve, uh, I think it will be a great great strategy for CAC.

    Yeah. So, uh, data is basically, uh, uh, dependence injection thing. So, uh, whenever, like, we, like, uh, in our mobile app, like, let's say, we are using a single class for, uh, a variety of, uh, like, for many places. Like, let's say, there is we are storing the data, uh, in the local database, and, uh, we are accessing that, uh, local database, uh, manager or local database helper class in, uh, many activities. Like, let's say, we are fetching this data from, uh, on this activity. We are fetching their data from, uh, another activity, and we are, uh, pushing the data on, uh, the third activity. So we are using that same class and, uh, every, like, uh, let's say, on all the 3 of the activities. So using, uh, data or Hilt, what we can do is we can create a singleton class for, uh, for that particular, uh, for that particular, uh, helper class, uh, database helper class. And using which, we can, uh, create a single object and, uh, use that on all the 3 library sorry, 3 activities. So, uh, we don't have to create an object, uh, every time on every activity. Like, let's say, there are 3 activities and, uh, to access the data database related thing, I have to create first, uh, the object of that, uh, database helper class. And, uh, after that, I'll, uh, after that, I'll be able to use that class and use the methods like, uh, getting the data or fetching the data or pushing the data on the data. So instead of, uh, using data or Hilt, we what we can do is we can create a singleton object and singleton class, its object, and, uh, we can use that particular object in all the 3 of the object duties. So that, uh, that is, uh, that helps, uh, like, that manages the, uh, it reduces the multiple object concept, and, uh, it will create a single object. So in that case, uh, it will be memory efficient, I would say. Uh, Yeah.