profile-pic
Vetted Talent

Arjun Shrivastava

Vetted Talent

With over seven years of experience in web development, Arjun Shrivastava has established himself as a proficient and versatile professional adept in a multitude of technologies and frameworks. Specializing in frontend development, he has demonstrated expertise in React JS, NextJS, JavaScript, and SASS, consistently delivering high-quality and innovative solutions. He has led the development of various projects ranging from e-commerce platforms to internet banking applications, leveraging his skills to enhance user experience and drive business growth. His strong understanding of software architecture, coupled with his ability to adapt to new technologies and industry trends, positions him as a valuable asset capable of contributing to diverse development teams and projects.

  • Role

    Senior Frontend Developer

  • Years of Experience

    8 years

  • Professional Portfolio

    View here

Skillsets

  • Git
  • React Native
  • React Js - 8 Years
  • SCSS - 5 Years
  • Storybook
  • Web Accessibility
  • Microfrontend
  • React-query
  • i18n
  • monorepo
  • AWS
  • CI/CD
  • CSS
  • Git
  • Next Js
  • HTML
  • i18n
  • Microfrontend
  • monorepo
  • React-query
  • Type Script
  • Ethers.js
  • OpenAI APIs
  • React-query
  • Redux-toolkit
  • Swr
  • TDD
  • web3.js
  • CSS - 8.0 Years
  • Next Js - 3 Years
  • Next Js - 3 Years
  • JavaScript - 7 Years
  • JavaScript - 8.0 Years
  • Type Script - 4 Years
  • Type Script - 6.0 Years
  • Tailwind CSS - 3 Years
  • Tailwind CSS - 3 Years
  • Node Js - 3 Years
  • Node Js - 3 Years
  • Tailwind - 7 Years
  • React Native - 3 Years
  • Git - 7 Years
  • React Js - 7 Years
  • FrontEnd - 7 Years
  • react - 8.0 Years
  • Jest - 7 Years
  • Node Js - 6 Years
  • JS - 8 Years
  • Redux - 7 Years
  • LinkedIn - 7 Years
  • GraphQL - 7 Years
  • HTML - 8.0 Years
  • AWS
  • CI/CD
  • Cypress

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Frontend DeveloperAI Screening
  • 75%
    icon-arrow-down
  • Skills assessed :GIS Technologies, Leaflet.js, Product Company, Component-Based Architecture, Material UI, Node Js, React Js, HTML / CSS, SaaS, Type Script
  • Score: 75/100

Professional Summary

8Years
  • Jun, 2024 - Present2 yr

    Senior Frontend Developer

    Emirates Digital Wallet
  • Jun, 2023 - Jun, 20241 yr

    Senior Frontend Developer

    AGC Alokozay
  • Dec, 2022 - Jun, 2023 6 months

    Senior Frontend Developer

    Mashreq Bank
  • Jul, 2017 - Sep, 20192 yr 2 months

    IT Associate

    Daffodil Software
  • Sep, 2019 - Dec, 20223 yr 3 months

    Software Engineer

    Naehas Inc

Applications & Tools Known

  • icon-tool

    Git

  • icon-tool

    CSS3 & CSS5

  • icon-tool

    tailwind css

  • icon-tool

    Javascript

  • icon-tool

    HTML5

  • icon-tool

    TypeScript

  • icon-tool

    Next.js

  • icon-tool

    Express.js

  • icon-tool

    Node.js

  • icon-tool

    AWS (Amazon Web Services)

  • icon-tool

    React Native

  • icon-tool

    React Query

  • icon-tool

    ReactJS

  • icon-tool

    React Router

  • icon-tool

    Redux Toolkit

  • icon-tool

    Redux-Saga

  • icon-tool

    NPM

  • icon-tool

    Webpack

  • icon-tool

    Sass

  • icon-tool

    NextJS

  • icon-tool

    Storybook

  • icon-tool

    React-Native

  • icon-tool

    react-testing-library

  • icon-tool

    express

  • icon-tool

    Redux

  • icon-tool

    Jest

  • icon-tool

    Cypress

  • icon-tool

    GraphQL

  • icon-tool

    Web Accessibility

  • icon-tool

    Tailwind

  • icon-tool

    Microfrontend

  • icon-tool

    Storybook

  • icon-tool

    AWS

  • icon-tool

    HTML

  • icon-tool

    CSS

  • icon-tool

    SCSS

  • icon-tool

    CI/CD

Work History

8Years

Senior Frontend Developer

Emirates Digital Wallet
Jun, 2024 - Present2 yr
    Implemented recommended products section using AI Automated email and order tracking system using artificial intelligence. Developing the HLTHIQ.ai web app portal and mobile app. Its a health app which lets user get to know their vitals just by having a selfie photo. It is powered by the AI. The web app is in Next.js and mobile app is in react-native. Implemented screens in mobile app to lets users scan their face or take a selfie photo to be analyzed by AI to detect health related problems Developed the entire web app dashboard from scratch in Next.js with auth, and artificial intelligence. Created components in mobile app to track users health metrics like, steps, distance, calories burnt etc. Which HR of a company can also see on the portal Implemented internalization, recommendation in mobile app using AI Used generative and visual AI to give users, suggestions, ideas, exercise, and meditation recommendation to help them cure.

Senior Frontend Developer

AGC Alokozay
Jun, 2023 - Jun, 20241 yr
    Developed and Maintained their E-commerce web and mobile application from scratch resulting in 30% increase in new customers and 18% increase in sales. Utilized debugging tools to find the areas of performance resulting in improvement of scripts by 10%. Re-architected the entire Frontend in NextJS, and MongoDB that helped boost the performance by 70% Reduced repeated work by Engineered a coding style that reduced the developer time by 12%. Automated the CI/CD process saved almost 2 hours daily. Wrote SEO friendly HTML that led us to gain more users by coming on first page of Google Search

Senior Frontend Developer

Mashreq Bank
Dec, 2022 - Jun, 2023 6 months
    Devised and Engineered the Credit card module in the internet banking web app and mobile app, resulting in 40% monthly conversion rate. Setup monorepo architecture and integrated different logical applications into one single repo.

Software Engineer

Naehas Inc
Sep, 2019 - Dec, 20223 yr 3 months
    Architect and Authored enterprise software solutions resulting in 20% increase in revenue with microfrontends. Architect, Engineered and implemented the enterprise application called DAM(Digital Asset Manager). Collaborated with solutions provider and created a Design library system that helps all other developer teams. Integrated tracking for third party sellers of credit cards which helps in giving accurate conversions from other sellers Collaborated and Authored many private NPM packages for the organization which helps save developer 20% of time. Lead the team of 2 developers and reviewed their code Developed an MVP before deadline and presented a demo to the investors. Implemented new credit card journey flow which were fast, lesser step for users and easy to follow. Contributed to more 40% conversion from users.

IT Associate

Daffodil Software
Jul, 2017 - Sep, 20192 yr 2 months
    I worked as a Junior developer with Daffodil. As it is a service based company I worked on multiple projects for small duration. Where I devised clients to increase performance and sales from their digital platform. I have created a chrome-extension to scrap data from other websites for a real estate giant client from Australia. Built the real estate property portal for the clients BD(Business Developers) that increased their performance by 70% and advised in tracking potential customers ready to buy the property. Engineered the private properties Portal for the BDs from the scraped data that managed them in retaining the 80% of customers. Worked on a book reading mobile app like Kindle, where I worked on features like, bookmarking a page, opening abook, sharing, highlighting text etc, Created one car pooling app for a Canada client. Charted the SaveTheDate web app for a Belgium client which helps user to send invite to masses of people for an event. It helped clients to generate first 2000 customers in 1 day. Created Multiple Micro frontends and combined them into a single container application resulting in better performance, increased delivery time, design consistency. Created Multiple Microfrontends and combined them into a single container application resulting in better performance, increased delivery time, design consistency. Managed and trained junior developers on development processes and best practices. Gave an idea to client to save tons of manual work in data scrapping.

Achievements

  • Achieved 30% increase in new customers after launching newly designed E-commerce web app for the recent project.
  • Due to the simplification of the credit card journey, we got a surge increase of 40% conversion rate.
  • Created a DLS for the organization that helps other teams developers and saves their 20% of time.
  • Achieved 30% increased in new customers after launching newly designed E-commerce webapp for the recent project
  • Due to the simplification of Credit card journey, we got a surge increased of 40% conversion rate
  • Created a DLS for the organization that helps other teams developers and saves their 20% of time

Major Projects

21Projects

Funny post social site Social Media

    Its a social media platform like Instagram where people can post memes and video files by creating an account. Other users can see any media uploaded by other app users. Users do not need to follow each other to view other person's content.

Booking Reading Mobile app

Images and Short Videos Web app called Tymoff

Reading Mobile app

SaveTheDate Web App

Car Pooling Mobile App

Real Estate Portal, Dashboard, Chrome-Extension

Workflow Builder

Enterprise Application - DAM(Digital Asset Manager)

Internet banking mobile and web application

Buyers Agent Toolkit with Chrome-extension Real estate

    This web app is used by BAs of a real estate company in Australia. The chrome extension scraps property data from other big realtors website and stores them in our server. The web app is the dashboard where BA can manage their properties and engage users to the property by giving the property a specific status.

E-commerce web app

E-Book Reading App Book reading app

    It is an app for mobile devices to read books online just like Amazon Kindle app.

Health Insurance web app and Chat bot

    It was a web app for an insurance company through which user can check their health insurance, renew it and also there was a chat bot using which also they can get the information of their insurance policy.

Admissify

    Its an overseas education consultant mobile application for aspiring students. The admissify platform is home to over 2000 universities and over 60,000 courses across all popular international study destinations. The unique Intelli-Search feature is an amazing tool to research & shortlist best fit universities and courses according to your exact circumstances, such as academic scores, budget, country, scholarships, intake time and more.

E-commerce web app and mobile app

    Its an E-commerce website and mobile app that I am working on and developing it from scratch using NextJS 13. It will be used by end users to place orders, track orders, contact us etc. The delivery app will be used by the delivery agents to get the order and the customer address.

Internet banking mobile App

    Its a mobile banking application developed using react-native for the Mashreqbank. I was in credit cards team where I handled full onboarding features for credit card users.

Internet banking webapp

Mashreq Bank
Dec, 2022 - Jul, 2023 7 months
    • Contributed to Mashreq's internet banking platform, one of UAE's largest private banks, focusing on implementing credit card journeys for users.
    • Facilitated various credit card processes including initiating applications, activating/deactivating cards, and processing bill payments for user convenience.
    • Enhanced user accessibility by enabling them to conveniently view, download, and track credit card transactions within the platform.
    • Spearheaded the redesign of the credit card onboarding journey across both mobile and web platforms, resulting in a reduction in application time and increased user adoption.
    • Implemented dynamic data email templates to streamline the credit card application process, improving efficiency and user engagement.
    • Optimized the initial page load time of the web internet banking portal to enhance overall user experience and responsiveness.
    • Oversaw the credit card journey within the internet banking platform, ensuring seamless integration and functionality.
    • Translated Figma designs into functional user interfaces for both web and mobile applications, maintaining design consistency.
    • Identified and addressed bugs in the mobile app and web UI to improve usability and performance.
    • Contributed to the development of reusable components within the Design Language System (DLS), promoting consistency and efficiency in design implementation.
    • Actively participated in discussions aimed at enhancing user journeys and overall platform usability for increased efficiency and user satisfaction.

    Technologies: ReactJS, React-Native, Redux, react-swr, HTML, CSS, TypeScript, GA4, Storybook, Azure,

Digital Asset Manager

Naehas Inc
Sep, 2019 - Dec, 20223 yr 3 months
    • Led the development of the DAM (Digital Asset Manager) project at Naehas, a compliance management solutions company, starting from inception.
    • Created the DAM project from scratch, transitioning from a proof of concept (POC) in AngularJS to a fully functional system with features akin to Google Drive, allowing users to upload files and folders, create, copy, move, remove, and rename items.
    • Architected and developed the DAM application from the ground up, implementing Microfrontend principles to consolidate multiple products into a single container application accessible with appropriate authorization.
    • Successfully deployed the DAM solution internally within prominent American banks such as Citibank, Wells Fargo, and Bank of America, serving as a centralized platform for managing digital assets effectively.
    • Improved user collaboration capabilities within the DAM system by integrating features for file sharing among users and enforcing access restriction levels to safeguard data security and privacy.

    Technologies: NodeJS, ReactJS, MySQL, TypeScript, Webpack, redux, redux-saga, Microfrontend, Storybook, Jest, HTML, CSS, JavaScript, AWS, Jenkins,

Car Pooling App

Daffodil Software
Dec, 2017 - May, 2018 5 months
    • Developed a Canada-based project aimed at assisting college students in Canada by providing carpool ride options to their neighborhoods.
    • Implemented destination-based search functionality, enabling users to search for carpool rides offered by others within the application.
    • Integrated an emergency button feature within the app, allowing users to request help or assistance during emergencies.
    • Facilitated ride bookings by requiring both drivers and riders to mutually accept fare terms, ensuring transparency and agreement before confirming rides.
    • Incorporated real-time notifications and integrated Google Maps functionality for smooth navigation during rides.
    • Introduced a promotional feature offering special discounts to university students, enhancing user engagement and encouraging adoption of the application.

    Technologies: ReactJS, NodeJS, Web-Sockets, PostgreSQL, HTML, CSS, JavaScript, react-native, AWS, Google Analytics

Buyers Agent Toolkit with Chrome-extension

Jul, 2017 - Nov, 2017 4 months
    • Contributed to a project at Daffodil Software, focusing on a property management dashboard for an Australian client.
    • Developed a dashboard utilized by business associates for property management and tracking purposes.
    • Created a custom Chrome extension scraper to aggregate property data from major real estate websites like https://www.realestate.com.au/.
    • Designed the dashboard specifically for business associates, streamlining property management and tracking tasks.
    • Implemented property organization based on different statuses such as View, Interested, Ready to buy, and Sold.
    • Enabled efficient property management by allowing business associates to track client interactions and property statuses.
    • Integrated extensive analytics data within the dashboard to provide insights and analysis on property-related metrics.

    Technologies: ReactJS, Google Extension APIs, Google Analytics, MongoDB, WebSocket, HTML, CSS, JavaScript, AWS, Jest

Education

  • Bachelors of technology

    Seth Jai Parkash Mukand Lal (2017)

Certifications

  • Professional Front-end Developer

    Udemy (Aug, 2017)

Interests

  • Animal & Bird
  • AI-interview Questions & Answers

    I'm a senior front-end developer. My name is, and I'm a senior front-end developer with eight years of experience in total. Most of my experience is working on React. I'm proficient in JavaScript, Node.js, and MySQL databases. I'm very passionate about building reusable components and applications that are scalable, user-centric, and accessible. I also have experience working on React Native to build cross-platform mobile applications. I've been involved in implementing code review processes and coding standards to enhance code and processes. I've also implemented Continuous Integration and Continuous Deployment (CICD) in our pipeline to save time in our day-to-day activities.

    We can manage the Node.js version in a continuous integration workflow. So, we have a platform through which we can manage the Node.js version in the CICD workflow, only that allows us to change the version of Node.js according to our need. We can just go into the configuration of that tool, whatever tool we are using for our CICD. For example, if we are using GitHub's actions, we can simply specify what Node.js version we want to use, and we can simply specify that there. Or if we are using a tool like, for example, Selenium, we can just specify the Node.js version that we need, and it will be picked up by our continuous integration pipeline.

    Yes. So in a large-scale React application, we have several ways to manage our state. We can use third-party state management libraries like Redux or MobX. And if you don't want to use a third-party library, we can simply use React's Context API. We can create different contexts according to features, and we can manage state by Context API as well. We can leverage reducers to handle complex state in components. However, I would prefer using a library like Redux or MobX if we find the need in our large-scale React application. If I had to choose between Redux and MobX, I would go with MobX because it's lightweight compared to Redux, and it's also more performant.

    To prevent memory leaks in a React JS application with complex state logic, we should have a keen eye on any subscription if we are having, and we should close those subscriptions when the component is getting unmounted. For example, if we are subscribing through a socket. So, that socket is consuming a lot of memory. We should always remember that we need to close that socket subscription inside the component's unmount life cycle method if we are using a class-based component. And if we are using a function-based component, then we can simply return a function from the useEffect hook, and that will act as an unmount component will unmount life cycle hook. It applies to everything, like a socket subscription, or if you are listening for an event on the DOM. Maybe we are listening for a scroll event, or some other event. So, all these events, we should detach from the DOM when the component is unmounting. That's how we can prevent memory leaks in a ReactJS application with very complex state logic.

    To integrate a serverless API with the React application to ensure optimal performance, we can consider several ways to do that. However, for a very large-scale application where optimal performance is a priority, I think we should go with an API library like Xero, or we should use React Query to integrate that because libraries like React Query provide caching strategies, and they provide caching. They provide background fetching. They provide pagination. All these things we do not need to explicitly code ourselves, and they provide that kind of optimization implicitly toward the developer. So if you want to integrate a serverless API or a normal API as well, we should go with a library like React Query or maybe a library like SWR. They provide a lot of performance benefits, caching benefits, background fetching, and pagination, and many new things.

    return a JSX. So maybe we can wrap it with some tag, or maybe we can wrap it, with the fragment, of React. Let's fix the bug. The issue is that the component is returning an object when the `loading` state is false, which is not allowed in React. We can fix this by wrapping the object in a JSX element, such as a React Fragment. Here's the corrected code: ```typescript import React, { useState, useEffect } from 'react'; interface User { // Add properties here } const UserList = () => { const [users, setUsers] = useState<User[]>([]); const [loading, setLoading] = useState(false); useEffect(() => { setLoading(true); fetch('https://api.example.com/users') // Replace with your API endpoint.then(response => response.json()).then(data => { setUsers(data); setLoading(false); }); }, []); if (loading) return null; // This is already correct return ( <React.Fragment> {users.map(user => ( <div key={user.id}> <h2>{user.name}</h2> <p>{user.email}</p> </div> ))} </React.Fragment> ); }; export default UserList; ``` Note that I also added a `key` prop to the `div` element inside the `map` function to ensure that React can keep track of the elements.

    In what ways does utilizing TypeScript's strict typing benefit a Node.js backend API? Okay. In what ways does it tell you that its strict typing benefits a Node.js backend API? Yeah. So if we are using TypeScript on Node.js code, then it would give us the typing benefits, like it gives us when we are writing TypeScript code in a React.js application or a frontend application in Node.js when we are writing an API. You know, and then we are using TypeScript, then it will definitely give us auto suggestions, you know, that what this API will accept as a body if it is a post API or what parameters it needs. It will accept if it is a get API. So those static typing benefits it will give in case of Node.js backend API. We are using TypeScript for that. And TypeScript is very beneficial because it gives you static errors upfront when we are writing the code. So, it's a good way to prevent a lot of issues if we are writing code in TypeScript rather than normal JavaScript.

    Yes, definitely, we can create a React component using Material UI that adheres to two SOLID principles. And I think we always follow SOLID principles when we are writing code in general. So, these SOLID principles stand for single responsibility, Liskov substitution principle, open close principle, and the others. And we should always follow the SOLID principle when we are writing code for a real-world application. Or in general, when we are writing code, if we follow these principles, then we will write a maintainable, readable, and extendable code. And it will prevent a lot of bugs as well if we follow these principles.

    What factors influence the choice of state management solutions in a large React application? Yes, so this question is a very important question when we are choosing what state management solutions we need to use for our large React applications. So I think this depends totally on the application and the use case that we are trying to solve. And you know, the choice to choose a third-party library as our state management solution or if we are going to use the context API totally depends upon the type of application, the type of problem that we are trying to solve. Maybe we do not need to use a third-party library altogether in our use case, or maybe we need to use that library. So that depends on the use case of the problem and the nature of the application that we're trying to solve. I think that would mostly influence the choice of state management solution in large React applications. And I've seen that sometimes we overlooked this question, and we used a third-party library. But in reality, we did not need to use that third-party library. Instead, we could have used the context API or maybe we could have used a sync external store hook, or maybe we could have used a user reducer hook for solving this particular problem. But we introduced a third-party library, and now we are maintaining a lot of code for that library. And we need to maintain that code. We need to have a clear understanding of what we do not need, I think. So I think we should always carefully choose what problem we are trying to solve and what library or what functions the front-end framework we are using is going to provide.

    Okay. Your team is planning a refactor of an aging front end code base to a modern React architecture. How do you evaluate and prioritize the components for refactoring considering performance, maintaining duty, and business impact? Okay. Your team is planning a refactor of an aging front end code base to a modern edge architecture. How do you evaluate and prioritize the components for refactoring? Considering performance, maintaining business impact. Okay. Yes. Yes. So I have done this in my past as well. So I was refactoring an old front end application to a modern architecture. So there, what we have done is we have refactored it, you know, component by component. So we have used a component-based architecture. So first of all, what we have done is we have created all the common components, all the reusable components into React. So, like, all the atomic components, first of all, we created all the atomic components as reusable components as reusable React components, and we created our design library system from that. So that in the future, as well, or when we will start migrating, we don't create these little or small components again and again. So we'll create those atomic components and we'll create a design library system from that. And everybody in the team who is part of that migration can use those reusable components. After creating those reusable components, we'll go with the route by route, maybe. If your application has a lot of routes, we can go route by route. Or maybe what we can do is we can see what component or what page in our application is very slow, you know, and we can pick those first. So, to choose what pages or what components need to be migrated first, we can use a strategy called the Pareto principle, which tells us what area we should work on or where we will put less effort and we'll get more impact. So we can use that principle and we can find out the areas where we should work first and where we should optimize or refactor the component. So that principle can tell us the areas in our application. And after finding those areas in which we need to work first, we can go and refactor that component or page to our modern React architecture in a component-based architecture. So now we have already in place our design library system. So we don't need to create everything from scratch. Also, we can use libraries like Material UI or Shared UI components or Tailwind CSS to further increase our time to refactor that code base to React architecture.

    To set up a development environment to work with both JavaScript and Node.js efficiently, we can use a lot of libraries that are available. If you want to create a full-stack application, we can use the Next.js framework because it provides both the edge and Node.js environment. If you don't want to use a full-stack framework like Next.js, what we can do is have two separate projects, one for React and one for Node.js. We can set up a React project with Vite, a build tool, and set up a Node.js project separately. Alternatively, we can use pnpm to handle and then create a monorepo architecture where we have our React and Node.js projects handle as a monorepo. So, there are plenty of ways by which we can set up and manage our Node.js development environment efficiently.