profile-pic
Vetted Talent

Pranav Chandra

Vetted Talent

Have more than 5 years of expertise in building high-performance web and mobile applications using React, React Native, Redux, TypeScript, and JavaScript, UI/UX. Proven ability to manage multiple projects simultaneously while maintaining a focus on efficiency and profitability. Skilled in leveraging full-stack knowledge to develop interactive and scalable web applications that prioritize user experience. A passion for continuous learning and embracing challenges, with a dedication to personal and professional growth. Extensive experience collaborating with start-ups and international teams, ensuring effective communication and project success.

  • Role

    Frontend Developer

  • Years of Experience

    6.2 years

  • Professional Portfolio

    View here

Skillsets

  • Web sockets
  • Progress web apps
  • TypeScript
  • TailwindCSS
  • React.js
  • Node.js
  • Nextjs
  • Native app development
  • Material-UI
  • Linux
  • GitLab
  • Git
  • Firebase
  • Expressjs
  • Deployment
  • CSS
  • JavaScript - 5 Years
  • testing
  • Kotlin
  • Ionic
  • HTML5
  • GraphQL - 1 Years
  • REST API - 5 Years
  • Responsive Web Design - 5 Years
  • React Native - 2 Years
  • Jira - 4 Years
  • CI/CD - 2 Years
  • Bitbucket - 2 Years
  • Android
  • Figma - 5 Years
  • Sass - 2 Years
  • Redux - 3 Years

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Front End DeveloperAI Screening
  • 84%
    icon-arrow-down
  • Skills assessed :Github, Symfony, HTML5/CSS3, jQuery, Less.js, react, Twig.js, JavaScript, MySQL, PHP
  • Score: 76/90

Professional Summary

6.2Years
  • Dec, 2022 - Present2 yr 10 months

    Frontend Developer

    CreativeGuru AI
  • Dec, 2020 - Nov, 20221 yr 11 months

    Frontend Developer

    Vebholic Private Limited
  • Mar, 2020 - Nov, 2020 8 months

    Mobile and Web Development

    Freelancer
  • Jan, 2019 - Feb, 20201 yr 1 month

    Frontend Developer

    Webore Technologies Ltd

Applications & Tools Known

  • icon-tool

    Git

  • icon-tool

    CSS3 & CSS5

  • icon-tool

    Javascript

  • icon-tool

    HTML5

  • icon-tool

    React

  • icon-tool

    REST API

  • icon-tool

    Node.js

  • icon-tool

    Jira

  • icon-tool

    Figma

  • icon-tool

    tailwind css

  • icon-tool

    TypeScript

  • icon-tool

    Material Design

  • icon-tool

    Sass

  • icon-tool

    Redux

  • icon-tool

    Ionic

  • icon-tool

    Capacitor

  • icon-tool

    Firebase

  • icon-tool

    GitLab

  • icon-tool

    Bitbucket

  • icon-tool

    React.js

  • icon-tool

    Redux

  • icon-tool

    NextJs

  • icon-tool

    Typescript

  • icon-tool

    React Native

  • icon-tool

    CSS

  • icon-tool

    Material-UI

  • icon-tool

    ExpressJS

  • icon-tool

    Linux

  • icon-tool

    Responsive Web Design

  • icon-tool

    CI/CD

  • icon-tool

    TailwindCSS

  • icon-tool

    GraphQL

  • icon-tool

    Web Sockets

  • icon-tool

    Testing

  • icon-tool

    Kotlin

  • icon-tool

    Android

  • icon-tool

    Linux

  • icon-tool

    CI/CD

  • icon-tool

    TailwindCSS

  • icon-tool

    Linux

  • icon-tool

    CI/CD

  • icon-tool

    TailwindCSS

Work History

6.2Years

Frontend Developer

CreativeGuru AI
Dec, 2022 - Present2 yr 10 months
    Developed responsive Tailwind CSS interfaces, integrated RESTful AI APIs, optimized performance, secured data flows, and led cross-platform mobile app projects.

Frontend Developer

Vebholic Private Limited
Dec, 2020 - Nov, 20221 yr 11 months
    Developed CRM applications and platforms from scratch using React.js, Redux, TypeScript, Material-UI, and Tailwind CSS.

Mobile and Web Development

Freelancer
Mar, 2020 - Nov, 2020 8 months
    Collaborated with international clients on robust mobile applications using React, React Native, Redux, Next.js, TypeScript, Node.js, and MongoDB.

Frontend Developer

Webore Technologies Ltd
Jan, 2019 - Feb, 20201 yr 1 month
    Converted Figma and Adobe designs into pixel-perfect interfaces using JS, HTML, CSS, and SCSS.

Major Projects

4Projects

IMERS - Trading Game

Panxora.io
Dec, 2022 - Present2 yr 10 months

    Project Details-

    • This project was developed using React.js, with Redux for state management, and a combination of Dev Express and Material UI for the user interface.
    • However, the project was initially structured poorly. I was brought on board to improve the project by implementing industry-leading practices and techniques.
    • The focus of my efforts was to enhance performance across various devices and create a more user-friendly and responsive experience.
    • Tech Stack - React.js, Redux, Material, JavaScript, AG grade.

NewsGuru.AI - Auto posting articles to any CMS

Panxora.io
Jun, 2023 - Present2 yr 4 months

    Project Details-

    • Newsguru.ai is an innovative startup platform designed to assist individuals who struggle to find time to write articles on a daily basis.
    • This platform offers a convenient solution by allowing users to provide their information, after which it automatically generates articles directly to their content management system (CMS). Additionally, users have the option to download each article as a PDF.
    • In the development of this project, I have utilized React.js and Tailwind CSS to create a responsive and user-friendly web interface.
    • Starting from scratch, I have meticulously built this project, ensuring that it meets the specific requirements and objectives.
    • Throughout the development process, I have followed industry best practices to ensure optimal results and deliver a high-quality product.
    • By adhering to these best practices, I strive to provide the best possible user experience and achieve the desired outcomes for the users of the platform.
    • Tech Stack - React.js, Redux, JavaScript, Typescript, Tailwind CSS.

SocialGuru AI

Panxora.io
Aug, 2023 - Present2 yr 2 months

    Project Details-

    • Developed a web app and mobile app that enable users to connect their social media accounts and automatically post curated news content.
    • The web app is built using React, while the mobile app is built using Ionic React, allowing for cross platform compatibility.
    • Users can customize the design of their news portal to suit their personality.
    • The apps generate news content from another portal and select the best content for automatic posting.
    • The apps streamline social media posting by automating content selection and posting processes.
    • Tech Stack - React.js, Redux, JavaScript, Typescript, Tailwind CSS.

OMS - Content Management System like Zoho

Vebholic Pvt. Ltd.
Jan, 2021 - Nov, 20221 yr 10 months

    Project Details-

    • Successfully developed a comprehensive CRM-based application using React.js and Node.js.
    • The application is built from scratch and incorporates essential features similar to Zoho CRM.
    • We utilized React, Material UI, and Redux to ensure a robust and user-friendly interface.
    • Throughout the development process, we adhered to industry best practices to deliver a high-quality product.
    • Tech Stack - React.js, Redux, Material, JavaScript, HTML, CSS.

Education

  • Bachelor's of Science

    Kanpur University (2020)
  • Full-Stack Development Web Developer Bootcamp

    (2018)

Certifications

  • Full-stack Web Development

    Udemy (Aug, 2018)
  • Full stack web development certification

  • Full-stack development web developer bootcamp

Interests

  • Watching Movies
  • Baking
  • Adventure Activity
  • Exercise
  • Games
  • Gyming
  • Technology Research
  • Travelling
  • Walking
  • AI-interview Questions & Answers

    Could you help me understand more about your background by giving a brief introduction of yourself? Okay. My name is Pranav Chandra, and I've been working as a developer for almost 5 years. And my main, um, my main tech stack is React, JS, TypeScript, and Tailwind CSS. That's what I've been using in my recent projects. And, uh, um, I I have worked with, uh, worked with several SaaS projects, and I have worked, um, on multiple, um, multiple projects at the same time. So I have experience working, uh, on, uh, on multiple, teams, and I I work with small teams and and larger teams. So I have gained a lot of experience during that, and and, uh, and I I also have experience with with back end. Some, uh, I have worked with Node. Js, uh, and I'll I've worked with some of the, uh, full stack framework like Next. Js and so on.

    Can you discuss how you would implement a feature flag in a React Redux application. Okay. So to implement a feature flag to implement a feature flag in a React application, we we need to define first of all, we need to define a, uh, a feature that we want to implement in our React application. So deciding a feature which which we want to toggle, create a set of feature flags, and then we need to integrate that in integrate that into yeah. It with the Redux store and the feature flag state to Redux store, and we can have, uh, a slice of a state dedication dedicated to feature flag where, um, each flag is represented as a Boolean value. And we can have a initial value for our feature flag, uh, which can be default to either true or false, and then we can update that, um, flag, uh, logic by using using use selector or connect methods. So and, uh, we can disable or enable that feature anytime from our application, anytime in anywhere in inside any components or any any page.

    What would be your approach to handle immatability in a complex React Redux application state to ensure efficient updates. Okay. So to handle a immutability in a complex React app Redux application, which, uh, which needs to be efficient. So we can, um, follow some of the we can follow some of the methods, some of the methodologies, like, uh, we can we should use immutable data structure. So instead of directly, um, muttering state objects, uh, we can use immutable data structure data structure structures such as immutable JS or, And these libraries provide methods to create new copies of data structure, which changes applied, uh, ensuring that original state remains unchanged, we can use a Redux toolkit, utilizing Redux toolkit, which includes utilities like create slice and create reducer that handle immutability under the hood. Uh, these utilities automatically generate immutable update logic for your Redux state and, uh, which, uh, reduces risk of accidental mutation. And we can we can use immutability, uh, immutability helpers for simple cases. Uh, we can have immittability helper libraries like immer.propimmittable orimmittableupdate. Uh, these libraries provide easy to use functions to produce updated copies of, uh, nested nested state objects without mutation. We can and, of course, we can use some of the native JavaScript methods like objects assigned. And, uh, when working with plain plain JavaScript objects, we can use spread operator or object assigned to create new copies of the objects with updated properties. And this also ensures that immigrability by not modifying those new object. And, uh, in a React application, we can use memoization and normalization. So normalizing, uh, reductive state to improve performance and maintainability. Normalizing in normalizing, uh, basically involves, uh, breaking down of some complex, uh, data structures, uh, into a flat normalized, uh, normalized formed data, which simplifies updates and reduces the risk for unintentional mutations.

    How would you set up and manage routing in a React application that requires dynamic page loading? To set up a dynamic, uh, page loading in the React application, we can, of course, use React router TOM library, which, uh, will which is generally often used to handle, uh, pay patching handle routing inside a React application so we can define routes, uh, in in in our in our main component, which could be app dot j s or index index file, and each routes would have specified its path and the component to render. And, uh, when the path matches, uh, that path matches the URL, it the component will be rendered as soon as and we, of course, we can have multiple components and and multiple routes in our React application. And it's it's it's fairly easy to use between, um, to use, um, react, uh, React routing with the help of, uh, React router, uh, library, which is very useful to create routing inside of a React application. We can use, um, several methods that comes along along the library itself, like link links. We can use links to navigate through, um, navigate through any pages, or we can use use navigate hooks, uh, which which comes out of the box. And there are some other useful hooks that comes inside the library. And we can use lazy loading components, which is of which is to optimize our application so that it doesn't load everything everything when when the app is, um, when the app is initialized for the first time. So it is going to load only those components that is, uh, needed to be rendered on the specific path.

    Explain a situation where React's context API might replace Redux for state management. Okay. Actually, that's a very good question because context API has become quite powerful. Um, we can, of course, use context API in a small to medium sized application, or we can even use in a very large application because it's, uh, it's easier to maintain, and there are there's less boilerplate when we are working with context API. So if we are building any small to medium size application with a mod moderate amount of state that doesn't require complex middleware or async action or time time travel debugging. So we can, of course, use React context API. Might be a more lightweight solution for, uh, for for this case. And, of course, we can, uh, use it for user authentication state or team preferences or any other small, uh, small, uh, state, uh, small state management. So, uh, we can cup we can tightly couple components. And, uh, so if the component that needs access to shared state are closely related and exist within the same same subtree of the component tree using, uh, context API can be can be a very simply can simplify state management without, uh, without the need to pass props down to multiple levels, uh, which is called prop drilling. So instead of relying on Redux centralized store, we can, of course, use that in that case. And, of course, there's a lot less, uh, boilerplate, some minimal boilerplate, and we are working with, uh, Redux. There's a lot of lot of boilerplate that needs to be, uh, is that needs to be done before, uh, before the actual, uh, the state handling. So when avoiding boilerplate code is a priority, I think. Context API offers a simpler alternative to read Redux as it requires less setup and and configuration. Redux involves creating store, action types, action creators, and the users, and connecting components to stores so that which can which can be all too for small applications. So in those cases, I think context API might, uh, work better than Redux, uh, for state management. And, of course, it is essential that, um, it it depends on the complexity of the application. If the com if the application grows, then Redux features such as time travel, debugging, and middleware support, and better performance optimization might become more necessary in such cases. So that in that case, transitioning from context API to Redux or use ex using Redux from the start might be a better better choice.

    Describe a strategy for conditionally applying CSS styles to a DI component in response to user interactions. Okay. So to conditionally conditionally applying CSS styles, um, in response to user interactions. So we can define a state by using use state, uh, hook to define a state or variable that represents some sort of interaction state. For example, uh, we might have a state variable that track whether user has hovered over button or clicked over a button. So we can track that, and as soon as it it triggers for hours, the state is going to be changed, and then we can render styles according to, uh, that, uh, that state, and we can update state and user interactions. So implementing event handlers to update update the state variable based on user interactions. For example, we can, uh, use the on mouse enter on mouse leave, on on or on click, or any other event, uh, event handlers to update the state when the user hovers over or leaves uh, component itself, and then we can define classes that represent different styles for the component based on, uh, interaction state. If you can use template literals such as JSX to conditionally apply, uh, class class based, class name, uh, names based on the state variable. And we can, of course, use the state, uh, variables to, uh, to conditionally apply CSS classes to the component, uh, which then we can, uh, we so what we can do is by assigning the appropriate class names to the class name attribute of the component.

    In this React component snippet, we are setting state directly inside a function component without using hooks. Can you explain why this might cause a problem, and what would be the correct way to handle state here? Okay. So a function that has, uh, my component function, which takes some props, And the state is the star state. Okay. And it is returning the star state dot count. So okay. Yeah. Okay. State directly inside a function component without using hooks. Can you explain what this can cause problems, sir? So so directly, um, setting state inside the component function without using hooks can cause problems because React relies on the order of functions to go the correct go goes to correctly managed component state and re renders. So when state is directly, uh, mutant mutated inside the component function, React cannot track these changes, leading to unexpected behavior such as incorrect rendering or state, still UI or infinite infinite infinite rerenders. So the correct way to handle, uh, state in a functional component is to use React's built in hooks, which is such as use state to manage component state. And, uh, of course, we can use useEffect in order to, um, in order to rerender component if anything uh, if anything is going to change dynamically.

    Consider this snippet where we are trying to fetch data from an API using a sync, but there's a bug that would cause it to not work as expected. Can you identify the mistake and explain what needs to be fixed? Okay. Async function. Fetch data. It has a constant of response. Equal await fetch, and the URL is httpcolon/@proneexample.com. Okay. Data Okay. Response dot JSON. Okay. So the problem I'm seeing here is that when we are converting our response, uh, to adjacent object, we are not we are not await we are not awaiting for, uh, for the conversions since it's a prom it's a promise based promise based action, which is definitely going to require a, um, require us to add a wait before converting the response to JSON. If we don't, then it is going to return a function or it's just going to return a promise with unresolved promise, and that's going to cause a problem because we are going to expect some kind of data, which is uh, which is not going to be a data, which is going to be a unresolved promise, and that's going to be that's going to cause problems in our code. And to fix that, simply just we can add await in in the 3rd line where it says const data equal response dot JSON. We can add await before response dot JSON, and then it will work as as expected without any problems.

    how would you design a scalable Redux architecture for a large-scale react application with multiple feature domains? okay so this is a very controversial question so designing a scalable structure for a large react application with multiple feature domains involves structuring the Redux store itself so Redux store, reducers, actions and middleware in a way that promotes modularity and maintainability and scalability has a high-level approach that I can think which I can use in order to create a Redux architecture for a large react application so modularizing Redux store so we can divide the Redux store into modules based on features domains or related functionalities each module can represent a feature domain or encapsulated its own state so each domain has its own state, reducers, actions and selectors and we can use Redux combined reducer to combine reducers from different modules into a single root reducer and we can separate actions and action types so defining actions and action types is specific to each feature domain so this is going to ensure that our actions are scoped to their respective domains and reduces the risk of naming conflict and of course we can group related actions together within each module to maintain organization and clarity and of course creating selectors within each modules to encapsulate access to the modules state and this allows component to access specific parts of the state without being tightly coupled to its structure and we can consider using reselect to create memoized selectors for efficient data retrieval and performance optimization and we can implement middleware to handle cross-cutting. Concerns such as logging, error handling, asynchronous actions and authentication and of course we can use middleware which can be applied globally or selectively to specific feature domain based on requirements so and we can of course normalize the state say normalizing the state, Redux state to avoid duplication to improve performance especially when dealing with relational data or large data sets so we can use libraries like normalize normalizer to normalize nested state structures and we can ensure the consistency across modules and we can use Redux toolkit so using Redux toolkit which also provides utilities like create slices and create reducers and it simplifies the process to define reducers and actions and yeah we can of course keep on going with

    What methodologies would you implement from the agile-scrum framework to streamline front-end development process? Okay, we can implement some methodologies in our agile-scrum framework to streamline front-end development process. The scrum framework combines elements of event-driven service-oriented architecture, which is called ESO-A, with the scrum methodology to streamline software development process. So when applying this framework to front-end development, we can implement several methodologies like methodologies to improve efficiency and collaboration. We can use some of the methodologies like spring planning, daily stand-ups, and of course continuous integration in iterative development, cross-functional teams, and backlog requirements. Of course, we can use story mapping, retrospectives. So to define some of these points, we can use spring planning, conducting spring planning meetings to define the goals and scope of each sprint, and of course daily stand-ups. So holding daily stand-ups, meetings to synchronize the team, discuss progress, and identify blockers and or impediments. So each team member should provide an update on their work since the last stand-up, and of course continuous integration, implementing CI practices to automate the process of merging code changes into a shared repository, and iterative development. We can use iterative development cycle to deliver incremental improvement to the front-end and break down larger features into smaller manageable tasks that can be completed within a single sprint. So this is going to allow us to release, allow us for frequent release and feedback loops with stakeholders, and of course form cross-functional teams with that includes developers, designers, testers, and other relevant roles. So this fosters collaboration and knowledge sharing, leading to better designed and more robust front-end solutions. And of course we can go on, keep going on as our scrum methodologies to enhance our front-end development streamlining process.

    Can you configure an optimal security setting for a React application considering common web vulnerabilities? Yeah, we can set up some of the common setting process like we should always use HTTPS. So ensuring that React application is served over HTTPS to encrypt data transmitted between the client and server, preventing any eavesdropping and man-in-the-middle attacks. And of course, content security policy, CSP, we can implement CSP to mitigate a risk of access across site scripting attacks by specifying trusted sources of script style, font, and other resources considering we can use libraries like Helmet CSP to set up CSP errors in our server. And we can use VEE and of course, configuring cross-course errors to restrict access to our API endpoints only from trusted origins, preventing unauthorized cross-origin requests using Miravay-like course to set up course policies in our server, and of course, input validation. So validating and sanitizing in user input on both client and server sides to prevent injections attacks such as SQL injection and XSS, avoiding dangerous, avoid using dangerously set in our HTML and ensure that user input is properly escaped when rendered, rendering content. So, and authentication authorization, secure authentication authorization for libraries. We can use JSON Web Tokens and OAuth2 generate and verify JSON Web Tokens securely, additionally if we can enforce proper authorization text to restrict any kind of access to sensitive data based on roles and permission, and of course, we can do some session managements and secure HTTP errors and using secure dependencies, security errors, implementing additional security errors such as strict transporter and security to enforce ensure connections, expect ct2 certificate transparency and future policy to restrict the user browser feature. So, and of course, we should always do security testing. So performing a regular security testing, including static code analysis, dynamic application security testing and penetration testing to identify any kind of security vulnerabilities brought to me. So we can use AI, we can use these several methods to prevent our react application from any kind of vulnerability, vulnerable attacks, and so on.