
Lead Specialist
Jade GlobalPrincipal Engineer
Innomind, HyderabadSystem Analyst
JDSports Fashion PLC, HyderabadSoftware Engineer
SuperGame TechnologiesSoftware Engineer
Navionics Technologies Pvt. Ltd., HyderabadTeam LeadSenior Software Engineer
Augment Softsol India Pvt. Ltd., HyderabadWipro Technologies, Cochi, Kerala
Android Debug Bridge

Java
.jpg)
Kotlin
Indeed Job Search app
Implemented enhancements to the Indeed job search hybrid app for iOS and Android platforms.
Resolved input field delay issue on mobile app caused by the keyboard, impacting the job portal.
Leveraged MVVM architecture for code organization and separation of concerns in both Android (using Kotlin) and iOS (using Swift and Objective-C).
Utilized Java for Android development and implemented design patterns for efficient code structure.
Contributed to Azure DevOps and Bitbucket for version control and project management.
Conducted code reviews and provided product-focused input and suggestions to motivate team members.
Applied UI/UX design principles for a user-friendly experience and employed Flutter for cross-platform functionality.
Addressed delay by optimizing suggestion feature, preventing character splitting before sending data to the web service. Profiled the app using Development IDE to analyze and rectify performance delays, identified and eliminated garbage data.
Developed and maintained software components using Kotlin and Android SDK for Android platform.
Employed Test-Driven Development (TDD) using JUnit and Mockito to ensure seamless integration of software components.
Implemented CI/CD using Jenkins for automated building, testing, and deployment.
Conducted thorough peer code reviews to maintain high-quality code standards.
Engaged in pair programming sessions to enhance code efficiency and accuracy.
Translated Application UI/UX Design document into the app flow using Flutter for UI development.
Integrated APIs and utilized design patterns for efficient software development.
Leveraged Jetpack Compose and Material UI for UI development in Java and Kotlin.
The deliverables were sent according to the deadlines set.
Led a team of 7 individuals, fostering an open communication culture and encouraging innovative solutions.
Created an inspiring team environment, delegated tasks, and ensured deadlines were met.
Oversaw day-to-day operations, monitored team performance, and reported metrics.
Motivated team members and identified training needs, offering coaching for improvement.
Integrated third-party libraries (New Relic, Appsee, Appflyer) for monitoring app performance.
Utilized New Relic and Appsee to identify and resolve multiple app performance issues.
Implemented MVP architecture and employed TDD and unit testing for continuous app enhancement.
Version control used GitHub
Implemented a single code base for multiple app flavors and Internationalization for JD Sports' various brands.
Successfully resolved a critical social login issue within 8 hours by isolating and fixing a conflict with New Relic and Facebook login dependencies.
Led a team of 7 junior developers, overseeing their work and ensuring project progress.
Implemented CI/CD pipelines using Jenkins for automated building and deployment.
Executed UI/UX and business logic implementations for the app's functionality.
Collaborated closely with the QA team to conduct thorough app testing.
Designed the app architecture for efficient performance and scalability.
Successfully completed the project, awaiting client purchase. Enabled shoppers to order groceries from local kirana shops through KiranaBuddy.com. Enhanced shopping experience, enabling 24/7 accessibility for customers and aiding shopkeepers in inventory management.
Independently managed UI and Business logic, integrating the weather channel functionality.
Tested the app in real-time environments to ensure functionality and reliability.
Implemented CI/CD pipeline using Jenkins, automating build, test, and deployment processes.
Reduced deployment time by 50% and improved overall code quality and reliability.
Enhanced the app with a weather channel feature for marine and lakes. Streamlined development processes, automating procedures for efficiency. Improved deployment efficiency and overall code quality.
Developed PokerkingLive, a popular poker game, allowing players to use community cards and their own cards to create poker hands.
Created multiple game flavors with a single code base for various clients.
Employed Java, JSP, and SQLite for game development and data analysis.
Followed design patterns and utilized Git for version control in the project.
The project was a complete success and the client was extremely satisfied.
Hi, team. Uh, this is Naga Raju. I have total 11 years of experience in mobile technologies. So my career was started in 2010, uh, starting with Android development. So when I was started, uh, Android Development, I worked on projects like cards and casebook games in Android and poker games. And, uh, uh, later, I worked with Augmented Reality Console for both Ios and Android. Uh, later, I worked with multiple retail applications So, coming from my previous organization like SuperMeme Technologies it has cards and games and Augmented Reality Concepts applications. Later I worked with Univionics. It's one of the company who is providing Marine Applications. This Marine Application is going to provide a map information related to C. So, when we go to this under C, we have to download the uh Verint application and it is going to show information related to the serial like how much depth it is and uh Tide and Current. Uh, how much it is. And, uh, based on the depth, the user can able to navigate from one location to another location. And, uh, that I've worked with multiple detailed applications like JD Sports, Kiranakiranabadi. And, uh, so JD Sports is one of the organizations. So it is, uh, having the app called the JD Sports. It is going to sell, uh, gym and sports items. So they have almost worldwide 1100 stores. So it is a multiplatform application. So they have real time stores and online stores. So I work with JD Stores having multiple flavors. So one single code codebase can run multiple applications. Uh, and, later, I work with the Indeed Job Portal app. So this is a client for the Jeredis Jered Global. So Jered Global worked with lost organizations. So we used to give support to the Android client. So we used to work on the performance tuning and performance debugging and
So for data synchronization, across multiple mobile platforms, uh, commonly user design pattern is observable pattern after implemented using the public subscribe, publish subscribe model, uh, or event driven architecture. In this part, the mobile platform, observers subscribe to change the changes in the data source. Uh, when the data changes, the source notified that all the subscribers triggering synchronization options are on each platform accordingly. This pattern is preferred because, uh, it promotes slow loose coupling between components allowing for flexibility and scalability. It also ensures that updates are efficiently programmed propagated to all platforms without the need of direct communication between them, making it suitable for a distributed system like mobile applications.
So coming to the Flutter, use a strategy for, uh, for the SENSE2 data to handle data. Okay. Uh, to handle sensitive data, we consider the following strategies, encryption, uh, secure storage, HTTP, and a sense to data min minimization, uh, falsification, biometric authentication, uh, regular security audits. And keep sales to data, uh, such as user, uh, credentials, personal information, payment details, using store encryption, uh, algorithm Clutter provides plugins like, Flutter Cryptography or Encrypt for encryption and description purpose Secure Storage we collect the Secure Storage mechanism provided by the platform such as Keychain on Ios and KeyStore on Android to store sensitive data securely for a plugin like, uh, Sutter Secure Storage provides an interface to secure store data with encryption HTTP Pro is secure that all communication with the server uh, are API transact transmission sensitive data, uh, is and prevent, uh, interception by malicious parties. Okay. Uh, Sensitive Data Minimizing the amount of Sensitive Data stored within the application only collects and stores data that is absolutely necessary for the application functionally. Obfuscation obfuscation obfuscation obfuscation the code to make it harder for attackers to reverse engineer the application and extract the sensitive information from the source data. And biometric authentication primitive biometric authentication, uh, fingerprint or face recognition for accessing the sensitive functionalities or data within the application. Uh, this adds an external layer of security, uh, beyond traditional password player or a sense secure authentication. Regular security audits: Conduct regular security audits and present penetration testing to identify address potential vulnerability in the application. By implementing these strategies, you can enhance the security of sensitive data within the Protrapp application and mitigate mitigate to potential or risk data breaches unauthorized
What is When building a secure mobile app that, uh, interact with the multiple external services, external service designer architecture consists of, uh, crucial authentication or authorization and secure communication or data encryption, secure storage, input validation of sanitization, error handling and logging, uh, lost privilege principle, secure updates and patch management, secure testing, uh, Compliance with, uh, Regal Regulations Authentication and Authorization Implement a robust authentication and authorization mechanism to ensure that only authorized user and service can access SENSE two data and functionalities. This may involve, uh, involve a technical like OAuth two point 0, uh, JWT JSON Web Token, uh, API Key. Secure communication use secure communication protocol using HTTP and LTS to encrypt data transition between the mobile app and external services. Verify service certificate to prevent man in the middle attacks. Data encryption encrypts to data stored locally on the device and data store transition transmitted to external services to prevent author unauthorized access in the case of database. Secure storage. Totalize the secure storage mechanism provided by the platform, uh, like example, Keychain on Ios, KeyStore on Android, you know, to store and send through data such as user credentials, API keys, and tokens, uh, securely on the device, Input validation and sanitization. Validate and sanitize all inputs, uh, reserved from the external services to prevent injection, uh, attacks such as SQL injection or x XSS cross set scripting error handling and logging implement proper error handling and logging mechanisms to delete and respond to the secure sensitive incident securely Uh, long sensitive information only when necessary and ensure that long logs are adequately protected. Least Privilege Principle. Follow the principle of these 2 privileges necessary to perform specific tasks to users and services this reduces the potential impact of security updates and patch management. Stay vigilant about security updates and patches or third party libraries frameworks and underlying platform to address vulnerabilities and mitigate the emergency security threats. Compliance of Regulations Ensure compliance with the relevant regulation size standard such as GDPR, general data protection, regulatory, or health insurance portability and
So integrate analytics to Flutter mobile app for better user experience tracking involves the following steps. Choose an analytics platform. Select an analytics platform that fit your requirement and budget, Uh, regular, uh, option including Google Analytics, Firebase Analytics, and Mixpanel app Aptitude and segment. Integrate Android analytics SDKs. And add the SDKs provided by your chosen analytic platform to to your, uh, Flutter project. Most platform for upper plug uh, but a plug in that to simplify the integration process. Follow the platform specific instructions to integrate SDK properly. Set up a tracking event, uh, define the event you want to track to capture relevant user interaction and behavior within your app. Common in events include app launches, screen views, uh, button click, form submissions in app purchases, and custom events specific to your apps feature. Implement event tracking implement event tracking on your Flutter app by, uh, sailing, calling the appropriate method provided by the analytics SDK. Associate relevant meta metadata with each event to provide context and insights to your behavior. User User attributes such as such as demographic device information, user preferences, and user lifecycle events to gain a deep understanding of user base. Error and crash tracking Integrate error and cry crash tracking tools such as Sentry or crash tools to monitor and analyze crashes and exception. This helps identify, uh, uh, uh, address issues effectively, the affecting the user experience. User ID and user identity if the app requires user authentication associated with user ID or, uh, user identity information with the analytics events to track user behavior across sensitive sensation and, uh, device accurate. Private and consent management. Ensure compliance with complexity of private sensor appliances such as GDPR and SCCP implemented features, service record, context management, and data. Practition Optimization Regularly review active data, conduct a a b test, and integrate the on your apps, features, and user interface to improve user experience based on insight rather from analytics
To share between Ios and Android apps while, uh, as preserving platform specific functionality in Flutter, you can leverage the following approaches, you know, platform channels use platform channels to, uh, establish communication between Flutter and platform specific code written and object to say Kotlin or JavaScript. Uh, with the platform channels, you can, uh, uh, invoke a platform specific functionality from Fertara and vice versa, allowing you to access native APIs and implement platform specific features. Conditional implementation utilize condition compilation utilize conditional compilation deductions, deductions, uh, if, uh, if diff you know, 2 conditional, uh, execution platform specific code within your Pro Flutter project. This approach allows you to maintain a separate code, uh, path pass for Ios and Android, uh, while sharing common logic and UI components. Dependency implement dependent injection patterns such as inversion of control. Uh, I was here in the service locator to decouple the platform specific implementation from shared code. Uh, define interfaces or abstract clauses, uh, represent a representing platform specific functionality, and provide platform specific implementation for each platform. Platform specific widget. Create a platform specific widget using Flutter platform channel or create a combination of, uh, compilation. For example, you can define and separate widgets, classes, for iOS and Android UI component, and additionally render them based on the platform. Use platform aware plug in. Leverage existing platform or Flutter plug in that offer a platform aware functionality for common tasks such as accessing devices, uh, handling permissions or integrating with the Neto services uh this plug in, uh, abstracts the way platform specific different sets and provide an unified interspace for, uh, Clutter apps. Substrate Configuration Files maintain separate configuration files build.broadel and info.plist, uh, for Android and iOS platform to define a platform specific setting and, um, uh, dependencies. This allows you to customize your build configurations and dependencies for each platform by sharing the majority of code base. Custom Gradle and XML script. Extend the build process with custom Gradle script, uh, for Android uh, Xcode scripts for Ios to automate platform specific tasks or configuration. This approach allows you to integrate a platform specific functionality seamlessly to the build process without modifying a flutter code code base.
The provider code block for API call in Flutter is a straightforward way to make an HTTP request to handle the response. However, to improve error handling and maintain your call, you can consider using a cricatch block to counter catch exception and handle different uh, error scenarios. Additionally, you can unscapulate API call logic into a separate service loss to prom promote a sup a separation of, uh, concerns and code modularity. Here is an enhanced version of the code. You can see it. Uh, in this enhanced version, uh, API call logic is encapsulated within the API service class promoting separation of concept and concerns and code organization. Error handling is a improve the use of a try catch block to catch exception that may occur during HTTP request or a JSON decoding process. A custom API extension process is introduced to encapsulate API related errors and provide more meaningful error messages. The base URL for the API is stored as a constant within the API service cost to ensure consistency and maintain maintainability.
So we just mentioned there is a couple of issues cause exception and, uh, potential resource for leaks. Missing underscore subscriber cancellation is a dispose method. Underscore subscription variable is assigned a stream subject subscription in the initState method, but, uh, it is not a canceled or disposal of in the dispose method. This can lead to memory leaks and unexpected behavior, especially if the reject is a disposal of while the subscription is still active. Missing return type of createState method. In the MyView Custom widget class, the CreateState method is missing, uh, returnless type annotation. While we don't cause an exception, it is a good practice to explicitly declare the return type state via custom widget to improve code reliability and maintainability. To ensure the proper disposable of, uh, resource and avoid potential exception, uh, you can update the code, uh, as I explaining you. In update code, the stream or subscription underscore subscription is canceled in the dispose method to ensure that, uh, resources are properly resizing when the object is disposed off. The return type of the createState method is explicitly declared as MyMyCustomRegestState. The bold method is included to complete the stateful widget implementation. Although, uh, the actual widget, BoldLogic, is not provided in this template.
Uh, choose a real 2 approaches, uh, how there choose a real time device database of or the backend service. Select a real time database or backend service that supports a real time data synchronization such as Firebase real time based database or Firebase cloud or, uh, Firestore or an custom WebSocket based solution. Data structure design. Design your data structure in a way that facilitate efficient synchronization and minimize conflicts. Use any true identifiers for each, uh, record and avoid nested structures, uh, that can complicate updates. Uh, implement real time database integration. Integrate the chosen real time database or backend service into your Flutter application using relevant SDKs or plugins. Set up a listener to receive real time updates whenever data changes in the database. Conflict Resolution Strategy Define a conflict resolution strategy to handle concurrent updates from the multiple users. Strategies may include last written wins, time stamp based resolution, uh, or manual conflict resolution prompt to users. Optimize UI updates. Implement opt optimistic UI updates to provide multimedia feedback to users. Then, uh, when they make changes, update, uh, update the UI optimistically based on user actions, and then reconcile, uh, the server with the service server's, uh, response to handle any conflicts error. Offline support. Implement that the offline support, uh, to allow users to work with the app even when they are offline. View user actions and synchronize them with the server once the device is connected to the Internet. Uh, handle the conflicts and the resolution strategies appropriate in offline mode. Authorization and authentication, implementing user authentication authorization to ensure that only authorized users can access and modify data. Uh, use, uh, Firebase authentication or other authentication providers to manage user authentication securely. Security rules. Define the security rules in the real time database and back end the services to restrict access and prevent unauthorized modifications to your data. Configure rules to enforce authentication, uh, authorization, and data validation. Error handling and monitoring implement a robust error handling model and collision to handle network errors, server failures, and other issues. Gracefully monitor the application and back end services for errors and performance issues, plus log logging, monitoring, uh, tools and crash test, reporting test services, and test and validate.
So to configure this continuous integration, CICD, we will have to depend on multiple module. Uh, version control system. Use a version control system like a git or manager. We have to write our app source code. What's the popularity of platform? Hitachi, Github, GitLab, and Bitbucket. CICD Services Choose a CICD service that supports building Flutter apps and integrates with Google Cloud and AWS. Popular options including GitHub Actions, GitLab, CICD, CircleCI, and Jenkins Configuration Files Create configuration files for your CICD pipeline. This improves live file like public spec. Yaml file. For what are dependents is a Dockerfile. If you are using Docker and CICD configuration files specific to your chosen services, um, workflow. Automated tests. Write automated tests for your, you know, flood flood app to ensure call quality and present, uh, ex representing regressions, including unit test, server J test, and integration test as necessary. Configure your CICD pipeline to run these test automatically on even every commit. Build environment. Set up the build environment for CICD pipeline. Install Flutter SDK, dependencies, and any necessary tools for packages, and show that the build environment matches the target environment, e. G. Android and iOS. Build the code segment. Configure the your CICD pipeline to build the Fullerton App for both Android and Ios platforms. And the, uh, Android App with the case file case profile and, uh, Ios app with the, you know, provisioning profile and certificate. Development, uh, to Google Cloud. Set up a deployment to Google deployment to Google Cloud device, uh, Google service such as Firebase hosting and distribution, cloud function for serverless back end, cloud storage for file storing, and Firestore Firestore for real time database or for database service. Use the appropriate CLI tools or APIs to deploy your app to Google Cloud. Deployment to the AWS configuration. Uh, configure dial up deployment to AWS service such as AWS Amplify for hosting and CICD. Imagine S3 for static website hosting. AWS Lambda for serverless backend, and Amazon DynamicDB or Amazon RDS for database service, Uh, use the AWS CL app, Amplify CL, or deploy your apps to AWS. Improvement. Continuous improvement, uh, it to improve your CICD pipeline based on your feedback from measurement
So I will consider following factors when we integrate third party UI components. Uh, compatibility. Ensure that the third party your comp components are compatible with the platform and technology stack used in the Shopify mobile applications, verify compatible with other the version of Shopify mobile SDK and any other, uh, dependencies. Now, customization options evaluate the customization options provided by the third party UI component. Look for components that offer, uh, flexibility in terms of styling, theming, and behavior customization to match the design and branching guidelines of Shopify application. Performance access assess the performance impact or integrating integrating third party UI components on the overall, uh, plot performance of the Shopify mobile application. It shows a lightweight and well optimized component that are going to compromise app performance, especially in terms of rendering speed and memory usage. Uh, documentation and support. Review the documentation and support resources provided by the third party component, Twinda. Ensure there are 2 comprehensive documentation, API references, code examples, and support channels are available to access the integration troubleshooting and maintenance, accessibility prioritize, uh, accessibility when selecting third party UI component to ensure that they meet web content accessibility guidelines, standards and provide and involve inclusive user experience for all users including those with disabilities. Security verify the security practices and consideration implemented in the third party UI component to mitigate the security risks such as cross site scripting, uh, attacks, data breaches, and unauthorized access. Choose the components from reputable vendors with their track record and security compliance. License and user terms. Review the license and terms and usage restrictions associated with the third party UI component. Hence, compliance with the license requirement, attribute obligations, and usage limitations to avoid legal issues and violence. Integration Complexity Consider the complexity of integration of the third party UI component into the Shopify product. And, we'll relate to factors such as API compatibility, dependency management, versioning, and potential conflicts with existing components or libraries. Scalability and future frustrating updates. Access the scalability and long term maintainability of the third party UI component, choose the components that are actively maintained, regularly updated, and compatible with the future version of Shopify Mobile SDK and platform changes. User experience prioritize the user experience and usability of the Shopify Mobile application by selecting and integrating third party