profile-pic
Vetted Talent

Sarguru Subramanian

Vetted Talent
Experienced mobile specialist with strong proficiency in Android, Flutter, and Kotlin, backed by over years of success in leading and delivering innovative mobile solutions. Recognized for expertise in leveraging advanced technologies to drive user engagement and streamline operations across diverse industries.
  • Role

    Senior Developer Mobile Solutions

  • Years of Experience

    14 years

Skillsets

  • Flow
  • Python
  • Android Development
  • Jira
  • Security
  • Deep Learning
  • testing
  • R
  • cross
  • Jetpack Compose
  • Natural Language Processing
  • Algorithm
  • Unit Test
  • Coroutines
  • DevOps
  • Dagger2
  • Hilt
  • Clean Architecture
  • LiveData
  • Room
  • Viewbinding
  • DataBinding
  • microkernel
  • Microfrontend
  • Retrofit
  • okhttp
  • Instrumentation test
  • Go
  • Android
  • MVC
  • Dagger
  • Kotlin
  • Blockchain
  • Agile
  • MVI
  • MVVM
  • Git
  • MVP
  • New Relic
  • Flutter
  • AWS
  • Java
  • BDD
  • machine_learning
  • Artificial Intelligence
  • Agile development
  • Android Studio
  • On
  • Design
  • Algorithms
  • E-Commerce
  • RxJava
  • TDD

Vetted For

13Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Mobile App DeveloperAI Screening
  • 73%
    icon-arrow-down
  • Skills assessed :Android, AWS Mobile, ios development, API development, Flutter, Mobile UX Design, Cloud Server (Google / AWS), Firebase, Native Mobile App, Project Management, React Native, Shopify, UI Development
  • Score: 66/90

Professional Summary

14Years
  • May, 2016 - Present9 yr 4 months

    Senior Developer Mobile Solutions

    L2 Publicis Sapient, Bangalore
  • May, 2016 - Present9 yr 4 months

    Senior Developer Mobile Solutions

    Publicis Sapient
  • Mar, 2015 - May, 20161 yr 2 months

    Senior Software Engineer

    Photon Interactive Private Limited
  • Jul, 2009 - May, 2010 10 months

    Senior Programmer

    Quattro Engineering Industries Limited
  • May, 2010 - Apr, 20154 yr 11 months

    Lead Engineer

    HCL Technologies Limited

Applications & Tools Known

  • icon-tool

    Android Studio

  • icon-tool

    Flutter

  • icon-tool

    Jetpack Compose

  • icon-tool

    Coroutines

  • icon-tool

    Dagger Hilt

  • icon-tool

    Clean Architecture

  • icon-tool

    RxJava

  • icon-tool

    LiveData

  • icon-tool

    ViewBinding

  • icon-tool

    DataBinding

  • icon-tool

    ROOM

  • icon-tool

    Retrofit

  • icon-tool

    Jira

  • icon-tool

    Subversion

  • icon-tool

    DevOps

  • icon-tool

    AWS

  • icon-tool

    New Relic

  • icon-tool

    Python

  • icon-tool

    R

Work History

14Years

Senior Developer Mobile Solutions

L2 Publicis Sapient, Bangalore
May, 2016 - Present9 yr 4 months

Senior Developer Mobile Solutions

Publicis Sapient
May, 2016 - Present9 yr 4 months
    Exceeded goals by acting as Technical Lead Specialist in many projects and provided full technical support to deliver consistency and communication across teams.

Senior Software Engineer

Photon Interactive Private Limited
Mar, 2015 - May, 20161 yr 2 months
    Designed and worked on two mobile applications for e-commerce users. Supervised and mentored junior programmers and developers.

Lead Engineer

HCL Technologies Limited
May, 2010 - Apr, 20154 yr 11 months
    Wrote clear development code for software programme features and evaluated functional and non-functional requirements.

Senior Programmer

Quattro Engineering Industries Limited
Jul, 2009 - May, 2010 10 months
    Presented designs to customers for evaluation and produced prototype to demonstrate core functionality on various problems.

Achievements

  • Embracing the future award in Publicis Sapient for the year 2020 for, o o o
  • Hackathon Winning for the year 2017 on Augmented Reality & 2020 on Artificial Intelligence
  • Hackathon participation for the year 2018 on Mixed Reality
  • Howathan participation for the year 2019 on Legal Blockchain
  • Best Innovator award in Publicis Sapient for the year 2019 for POC on Augmented and Virtual Reality Wall of Fame award in Publicis Sapient for the year 2018 & 2019
  • Live Wire Excellent performer award in HCL Technologies for the year 2014
  • Embracing the future award in Publicis Sapient for the year 2020
  • Hackathon Winning for the year 2017 on Augmented Reality
  • Hackathon Winning for the year 2020 on Artificial Intelligence
  • Hackathon participation for the year 2019 on Legal Blockchain
  • Best Innovator award in Publicis Sapient for the year 2019 for POC on Augmented and Virtual Reality
  • Wall of Fame award in Publicis Sapient for the year 2018 & 2019

Education

  • M.S in Media Informatics

    RWTH Aachen University (2008)
  • B.Tech in Information Technology

    Madurai Kamarajar University (2003)

AI-interview Questions & Answers

Okay. So could you help me to understand about it? Yeah. So I'm Sarkur Subramanian, currently, uh, working in, uh, um, Publicis's APINTA as a Uh, lead experience engineer. I do have an experience of 14 years of ex in mobile domain side, specifically in native Android and, uh, Flutter? Um, also, I do have a few experience in React Native side also. So, uh, I did my master's in media informatics in Germany, RWTH ARAGAN University, then in bachelor's, Uh, I have earlier completed in information technology. Um, so I do have a total of, uh, as I mentioned it out, it has a total of Fourteen, uh, plus 7 years of experience. I do have been specifically in mobile, um, uh, as, Uh, I mean, 13 years of experience nearly. And, uh, earlier, I started my career in j two year me, then, Uh, in Quattro Engineering Industries Limited in Coimto, then I moved to HCL Technologies as The lead engineer, and I continued over there in Android domain side. Then I moved to Photon Infotech as a senior program manager, and, also, I, uh, I made my career in native Android side 1, then I in 2016, I came to, uh, Publicis, Sapient. Um, so I joined here as a senior, uh, mobile developer, Uh, I'll 1 grade, and, uh, for my McDonald's projects, I was doing my, uh, I mean, uh, I continued my career in, Uh, native Android side, then I, uh, learned over this Flutter, and that did the, uh, brand new added features. I continued over my career in this, uh, Flutter side. Then also, um, I did the many projects in Flutter also for the Deepank Centimeters commercial projects? And, uh, um, and also for, uh, uh, Omenthal Telecom, uh, communication side also.

Okay. So what design and architecture considerations are important when building a secure mobile application that interacts with multiple external services. Okay. So okay. So I specifically I specifically implement, uh, layered architecture, a well defined, uh, architecture pay pattern. Now there's a MVVM. Earlier, I started over their MVC, but, uh, I feel it out in our MVVM, uh, to separate concern and isolate the security, sensitive components of our user interface, uh, elements. Uh, and also to utilize the over HTTPS for all communication between our mobile application external, uh, um, services to encrypt the data, uh, the transmission and prevent the interceptions. So I implement a robust authentication method, uh, mechanism such as 2.0 and employ this, uh, encryption technologies. So, uh, specifically to say this, I specific by incorporating these architecture considerations, This can be utilized data, I mean, into the designs and development process. It can help to mitigate the security risk, and they ensured the confidentiality, integrity, and availability. So to make it of the still clear on the a data and apart from the data encryption side, we can say of a secure data storage, like, for storing a sensitive information like user credentials, authentication tokens. Uh, and for in case of validate validate and sanitize all user input, um, uh, to prevent some security vulnerabilities like SQL injections. And and if I, uh, make it out as about secure, SM. I mean, we can implement security API on the server side to interact with external, uh, um, services external service security also. And we can utilize over this API gateways, firewalls, and, intrusions, uh, detection system to monitor and protect against malicious attacks. Um, we We can implement a secure session management techniques so to maintain user sessions securely and prevent, a prevention, hijacking, and the fixation attacks also. And and we can, uh, follow secure coding practices and, uh, guideline to and mitigate common security threats, uh, such as, like, a code injection or insecure deserialization, these things. We can now also conduct regular security audits and, um, penetration testing to identify the, uh, re remediate, security vulnerabilities in the mobile application sites. I think these are all the things that we're incorporating, uh, these, uh, considerations could be a better one.

How would you handle versioning of a mobile app APH to support legacy, uh, applications? Okay. So, see, for handling, uh, uh, to support the legacy application requires uh, careful planning and implementation to ensure backward compact backward compatibility, see, while introducing new features and updates, So what is the thing we need to consider over here? We need to adopt a clear and a consistent versioning scheme, uh, following a semantic versioning principles, so that this allows the developer to understand the impact of, uh, uh, version changes, uh, based upon the significance of the updates. Also, we need to include the API version in the URL, uh, uh, path to explicitly specify the version of the API being accessed. So this approach provides clear communication and ensures that the clients can continue to use all the question if necessary also. So, alternatively, uh, uh, you can use, uh, uh, we can use this custom header or a query parameter to indicate the IP version. This approach allows for more flexibility, uh, in managing the versioning, but requires additional handling of the, uh, on the client and server side, sir. Then, uh, we can while introducing, uh, the changes to the API, uh, for the main to strive to maintain backward compatibility with older version to ensure the that existing clients can continue to function without requiring immediate updates. So this may involve the duplicating old endpoints gradually rather than removing them abruptly. Right? So we need to establish a clear duplication policy for, uh, uh, older API versions, uh, including timelines for duplication in some. Right? So, uh, so that we can communicate these changes to developers and provide sufficient time for them to, uh, mitigate I mean, migrate to the and newer versions. Uh, then okay. Then we can, uh, also maintain our Uh, proper documentation that outlines the difference between the APA versionings, uh, including any deprecated features and uh, migration, uh, guidelines for transitions from older version to, uh, new ones. Then we can implement a mechanism for negotiation to allow, uh, to to to allow the, uh, clients to specify their, uh, specific, uh, preferred API versions dynamically. So this can be achieved through a content negotiation, uh, or by providing, uh, versioning information in response headers. Uh, also, we can, uh, conduct a thorough web testing of the API uh, version changes to identify potential compatibility issues and, uh, um, and ensure seamless integration, uh, with legacy applications. So so, probably, you can monitor the usage and performance to detect any anomalies, or error, uh, resulting from versioning changes. Then, uh, then we can implement a robust error handling mechanism to provide Meaningful error message, uh, a status code when clients attempts to access a deprecated or unsupported, uh, API versions. So these will be helping for the user to understand the reason for the failure and take appropriate actions. So by following these things, it's a good practice for these things.

How do you integrate analytics into a Flutter mobile app for better user experience tracking? Okay. So, um, analytics see, integrating analytics into a Flutter mobile app is essential for Tracking the user behavior. Uh, monitoring app performance or gaining insights to improve the overall user, uh, experience. So One of the thing is we need to choose a, uh, select a proper or reliable analytics service provided, uh, like Google Analytics, uh, or Firebase, Um, New Relic, uh, are, uh, any other things or proper analytics service provider we need to choose it out of. Right? Based on our, uh, requirements or budgets, uh, for these things, based on that, we need to choose. Then and then what we need to do that is, uh, we need to add analytics SDK dependencies, uh, to the Clutter project by including the respective package into the PubSpek, uh, YAML file. They we need to follow the installation instruction provided with analytics service provider to set up the SDK, and they initialize it in the, uh, in in in our Flutter applications. Then we need to initialize the analytics service within the appropriate configuration settings, uh, including the API keys or, uh, tracking IDs or other parameters required to establish a connection with the analytics server. Um, then we need to implement even more tracking Uh, to monitor user interactions as button clicks or or thumb submissions, um, or, uh, take views or custom events relevant to the application functionality. We can use that analytic ATK methods are provided, uh, chosen service to To track these, uh, events and associate them, um, with the specific user actions. Then, uh, then we need to capture, uh, uh, user attributes and properties, uh, to segment and analyze user behavior based upon the, uh, uh, preferences, device or characteristics, and other relevant metrics. So we need we can we we can utilize the user identification methods to track user sessions and be behaviors across multiple sessions and devices. Right? So, uh, then we need to define custom events and parameters to track specific actions or scenarios unique to, uh, unique to the application features and, uh, user flow. So we can customize the events categories and Attribute to, uh, align with the analytics goals and reporting, uh, requirements. Also, we can implement errors and exception tracking to capture, uh, and report runtime errors, crashes, or unexpected behaviors, Behaviors occurring within the I mean, we can monitor that, uh, um, error logs, and, uh, stack traces to identify the unresolved issues. Um, then we can integrate performance monitoring tools provided Like, analytics services to measure the performance metrics, uh, like startup time, screen rendering, uh, speed, uh, I mean, uh, the network latency, these things are all comes over there. Uh, then we need we can ensure, Uh, data privacy regulations are, uh, also by obtaining user consent of data collection and processing, we can implement the mechanism to enable Use the top of, uh, analytics tracking if desired I mean, if desired. Uh, we can access the analytics dashboard provided by the analytics Service to visualize and analyze user engagement, uh, retention, uh, conversion rates, and other key performance indicators. So so I think they can generate

Which design pattern would you implement for, uh, data synchronization across multiple mobile platforms? And why the design principles. So I see actually this is I choose specifically, um, repository pattern combined with the, uh, observer pattern can be a powerful choice for this case. See, the repository patterns usually abstracts the, uh, data access logic for the from the rest of that application, um, providing the centralized interface to interact with the data sources such as a local database, uh, remote APIs, or catch tools. By encapsulating the the data access logic with the, uh, within the repositories, we can easily switch between the, uh, different, uh, data sources without affecting the higher level application logic. At the same time, the observer patterns facilitate the communication and synchronization build the, uh, different components of the application by establishing one to many relationship between the observers and the subjects. So when the state of the application, um, and the state of the subject changes, it notifies all the, uh, observers, So registered observers allowing, um, them to react accordingly. So combining these patterns of data synchronization across multiple mobile, uh, platforms Several benefits like, uh, modularity, uh, abstraction, uh, platform independence, uh, and centralized controls, uh, asynchronous communication. So so by implementing the rep I mean, this repository, Along with that observe, uh, observer pattern for data synchronization across, uh, multiple mobile mobile application, we can achieve a flexible, scalable, and, maintainable architecture that facilitates efficient data management, uh, and synchronization in the mobile app.

What is the best practice for implementing navigation within large scale, uh, Flutter? Okay. See, um, so implementing the navigation requires a careful consideration to ensure a smooth and Intuitive, uh, uh, user experience. So what is the thing is hierarchy structure is one of the things. We need to organize the navigation in a hierarchical manner, breaking down the larger scale features into smaller logical sections or screens. This helps the user navigate uh, through the feature more easily and understand the relationship between the different parts of the feature. And, also, we need to provide a clear and, Um, uh, intuitive navigation parts that guide users through the features. So we we can use the description labels, the icons, and visual To the to indicate the purpose and the destination of each navigation options, uh, um, then Then we can, uh, use of a navigation drawers or tabs to display high level navigation option for the large scale features, So this will be allowing a user to quickly switch between the different sections, uh, or views. So Currently, recently many projects, I'm noticing it on this bottom navigation bar. So considering the using of this navigation bar bottom navigation bar that, uh, it It will be providing a easy access to frequently used features, uh, screens with, uh, large scale features, sir. So bottom navigation bar can The icons or labels for different sections of the features, uh, allowing users to switch between them with a single tap itself, And, uh, we can use of this deep linking. Implementing, uh, uh, the deep link tool will allow the user to navigate directly to the specific screen of contents are within the loss scale feature from external sources. Right? Uh, then we can use of a breadcrumb navigation to display the user's current location within the log scale features and provide a path for navigating back to previous screens or sections. And then search functionality, uh, we, uh, we we can do it out of within the large scale feature to help users to quickly find the specific Contact all information, and we can, uh, we can go to that specific page, by filtering it out on suggestions string lines. Um, then we can employ progressive disclosure to reveal additional navigation uh uh

Review this clutter, widgets snippet, identify which may which might cause an exception and suggest an improvement to ensure the widget properly disposes of its resources. Okay. We have a class of my custom widget, which stateful widgets, sir, and you're overriding my custom widget state on the created state. Okay. That's fine. Then, uh, you have the transfer for my custom widget state extending the state. Okay? Then you have a, uh, stream subscription, uh, variable. In the init state, uh, I am creating a my stream, uh, variable, which has a, okay, stream dot periodic for duration of sec seconds in mill 1 second, sir. Then there's a subscription, uh, variable I mean, stream substitution variable is equal to the stream variable, uh, dot listen of data, and you are performing actions with the data. And inside that the dispose method, you are doing over, uh, intentionally what left out the error, and you are just doing a portal. Okay. Okay. The I think this goes out. So based on the description now of what have been provided, I think the potential issues lies in the description to the stream within the administrative method and the lack of disposing of that, uh, streams, uh, subscription in the work method. This is the one I mainly, uh, think over it after. So because actually, c. There was no explicit disposal of that stream subscription, method. So this could lead to the memory leaks and unexpected behavior if the test stream subscription is not cancelled when the widget is uh, version ensures, uh, I mean, ensures, that the stream subscription is properly disposed of by canceling the cancel method, on the stream subscription within the dispose method. This ensured that results is associated with the stream, uh, subscriptions are released when the widget is no longer, end user. That is the main, uh, thing I I specifically notice over here.

Examine the code block for a API call in Flutter. Is there a better way to handle the HTTP request and the response to improve error handling and the maintainability. So in the future method, fetch user data, you that is an async method okay? Uh, you have a final response is equal to await the HTTP of, uh, uh, some URL you have given? Okay. If the response's status code is 200, then you are decoding the the that JSON from the responsive body and assigning it to the user variable. Uh, else you are throwing over the exception, the failing to load data? Okay. You want to uh, better handling for this case. Uh, I think, um, the provided code, uh, actually, for making an API to be improved for error handling and maintainability only, I think, in this uh, yes. The rest of that I felt, uh, it is comfortable. Actually, here is the most robust approach using the HTTP package. Uh, so I believe it out that we can have it, uh, if response code is equal to thunder, you're handling out. Right? So, yes, we okay. I think, uh, the fetch user data. Right? The fetch user data function of user, this async event, uh, to handle the, uh, asynchronous operation more cleanly. So this allows for a more the readable code, uh, compared to the using callbacks directly. So the UAPath method, uh, is used to to pass the UIA URL string. So this ensured that the, uh, URL is properly formatted and avoids potential, uh, issues. Uh, so with special characters or, uh, spaces in the URL. Right? So instead of directly throwing an exception based on the HTTP response status codes that we throw we can throw a generic exception with the description method. This makes error handling more consistent and easy to understand. Uh, so the error message should be including over the HTTP status code or providing more context about the nature of the error. This can be helpful for debugging and troubleshooting the issues with the API call. So something like if I say via code wise means, uh, see, the future, you are having it out as a you're getting that value, right, that by the user. We shall have to have it also as a future, uh, user, uh, specific user specific object has to be over there. Um, then in the URL okay. That is okay. Fine. Uh, then in the final, uh, that are I mean, that that response, uh, you are awaiting on the uh-huh, uh, hatch the c p dot get? That is that part is also why I'm finding it out okay. Uh, instead of directly specifying it out, uh, I mean, HTTP dot get, you can make it out that you are a dot pass of that URL. That is the one I told. Uh, okay. Uh, so in case of a 200, uh, that is the user data, you can directly okay. That is fine as uh, uh, we we can get that value as a, um, as a map value, like a string of, uh, map of string of dynamics. Uh, those things are, uh, response data can be caught as a map of string or dynamics. Uh, by then from the error throwing of error? I told it out that that we can, uh, generic expression as stating over that response status code over there. That could be a better better right

Discuss a strategy to handle real time data synchronization across multiple user devices in um, Flutter application. Okay. Fine. So, see, um, handling a real time data synchronization, uh, requires a well thought out strategy that addresses the data consistency, uh, scalability, um, performance and user experience. So what we can do without in that case, we need to, uh, we can select a real time database or um, back end services that support a real, uh, real time data synchronization and provides the SDKs or a API for a Flutter implementation. Um, I mean, flat applications. Right? So so we can use the popular options, including, uh, Firebase, uh, real time database, um, a Firestore, GraphQL, uh, subscriptions, uh, services like AWS, uh, AppSync, uh, we can use it out in that case. Um, then we need to design the data model and the database schema to facilitate this, uh, uh, real time synchronization efficiently. We need to normalize or, um, denormalize the data as per the applications of requirements, considering the factors like, uh, uh, query performance, data relationships and the update frequency. Then then we can use that real time capabilities provided, uh, by choosing, uh, by um, the chosen database or backend services to subscribe to data change events. So we can implement listeners or observers, uh, in that application to um, receive the, uh, real time updates whenever the data changes, of course, on the server. Uh, also, we can implement offline support, uh, to allow the user to access and um, data even when they are offline. So right, uh, we can use the local, uh, storage mechanism, like escalate, uh, database or a local JSON file to catch um, data locally, um, and synchronize these changes available with the separate one, uh, devices back online. Um, we can implement the conflict resolution strategies, uh, to handle conflicting changes from um, multiple devices and resolve conflicts, uh, gracefully. Um, we can minimize the amount of data transferred between the client and the server to, um, uh, optimize the network bandwidth and improve the performance. So, like, you can use the technology, uh, technique like, uh, uh, delta updates, um, data compression and batching request to reduce the latency and improve the responsiveness, uh, in real time synchronization. Um, then we can implement a secure authentication and authorization mechanism, uh, to make the user, uh, control access of their data. Um, so so if we can use authenticated providers like, uh, Firebase authentication, uh, or OAuth 2.0 to authenticate the users um, purely and enforce access control, uh, rules based on that user rules and permissions. Um, then we can monitor the real time synchronization, uh, performance using monitoring tools provided by the database or backend service. Uh, then we can implement error handling and, uh, recovery mechanisms to handle the cases, uh, like, uh, network disruptions, uh, server outages or, uh, client side. And, uh, um, we can provide the information to, uh, error messages and um, and retry the mechanism to recover these transition errors. Right? So we can also, um, as usual, this is, uh, we need to make a proper and, uh, conduct a thorough testing of a real time synchronization features under various scenarios and it cases. Um, these things. Uh, if we are falling it out, we can effectively, uh, implement real time data synchronization across multiple user devices. I guess it these things

How would you integrate the Firebase back end, uh, with the React Native app for real time database updated features? Okay. See. So, um, to make it out clear, so we need to create a firebase project on the firebase console. So we need to add our, uh, application, uh, our React Native application, uh, to the Firebase project by registering in both Android, uh, and Ios app? And, uh, and, uh, we need to download the respective configuration files. I think, uh, in, uh, in Android, we will be having for Google services, uh, JSON. And then Ios, if you notice it out, there will be Google service, uh, info dotplist files? We will be it will be there. So, uh, then we need to install the the Firebase SDK using the npm install, trial, uh, that is a way for, uh, installing it out of these these cases. Uh, we will be having it out to someone specifically That command we need to notice it out in that SDK for Firebase app. We need to install for those things. Uh, and, uh, In in specifically in case of, uh, Ios assigned, we need to do the spot install after doing this, uh, uh, after installing this one. Then We need to initialize the Firebase in that React Native application by importing that, uh, uh, Firebase configuration and, uh, initializing over the Firebase applications. So this typically involves creating a Firebase configuration file and importing it to the app's entry pointer. So, Uh, I, uh, then, uh, we need to use that Firebase real time database to store, and synchronize the data in real time across our clients? These things, sir, we need to do it out of. Then, uh, then we can use the Firebase listener to handle the real time updates or do, uh, data in the database? So, uh, we can subscribe to database, uh, references and listen to for changes using, uh, um, even, uh, listeners, uh, like, uh, on or once, Uh, these things we can use it out. Then if the application requires user authentication, you can integrate, uh, Firebase authentication to authenticate users using email or password also? Uh, then we need, uh, a test of this Firebase integration thoroughly to ensure that the real time updates and data synchronization working as expected? Well, now we we as for that, we need to, uh, make an implementation for error handling and error recovery mechanism also to handle those, uh, network actions, uh, um, of server errors? We need to fire use of this firebase, uh, error codes and exception to handle errors and provide meaningful feedbacks.

What are the key factors you consider when integrating third party UI components into the Shopify mobile application? Okay. See, actually, We need to ensure that the third party UI components are compatible with the Shopify, uh, application technology stack, including the the programming language framework like React Native or Flutter, uh, or platform requirements like Ios or Android. We need to verify that the components integrate seamlessly with the existing codebase and architecture. Um, then we need to evaluate the security practices and data handling policies of that uh, third party components provided to ensure that the components are complete with industry standards and Best practice for securing sensitive user data and transactions. Uh, then we need to verify that the components do not introduce security vulnerabilities as or Privacy, uh, privacy risk, uh, into the applications. Then we need to assess the level of customization and theming Available for the third party component to align with the, uh, branding and the design requirements of that, uh, Shopify application. So so that's why we need to ensure that the components support flexible, uh, styling and theming capabilities to maintain the Consistent user experience across, uh, different screens and modules. Uh, so then we need to consider, like, uh, performance implications in terms of integrating the third party UI components, uh, so we need to evaluate the performance characteristics of the components, including, Uh, speed rendering speed, memory usage, uh, network overhead to minimize the impact App performance and responsiveness Optimize the usage of third party users to ensure efficient resource utilization Resources provided by the by that third party component provider, uh, to to facilitate the integration, customization, and troubleshooting purposes. Shooting purposes. So we need to ensure that the documentation, code samples, tutorials, Community forums are available to assist these developers in using and extending the components effectively. Um, we need to then, um, I think, uh, we need to verify that the third party UI components are uh, licensed properly, and comply with relevant license agreements, uh, open source licenses, uh, and intellectual property rights. They need to ensure that the components, uh, uh, are due to legal and regulatory requirements, uh, governing, uh, software distribution usage and within that application. Uh, then then we can consider the long term scalability and maintainability of the 3rd party within that application. So so we need to evaluate the provider track record in delivering updates, uh, bug fixings, uh, how they need it out, and, new features, as well as their commitments to long term support, and, uh, compatibility. By carefully considering these factors, We can effectively integrate third party UI components into the Shopify app. Uh,