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

    Senior Frontend Developer

  • Years of Experience

    6.3 years

  • Professional Portfolio

    View here

Skillsets

  • Next.js
  • Context API
  • cross-browser compatibility
  • CSS3
  • Design systems
  • Express.js
  • JWT
  • Lazy Loading
  • Linting
  • Material UI
  • Memoization
  • Code splitting
  • Performance profiling
  • Responsive Design
  • Rest APIs
  • role-based access control
  • SCSS
  • Tailwind CSS
  • Websockets
  • Ai-driven data consumption
  • react
  • Git
  • Redux - 3 Years
  • Figma - 5 Years
  • Bitbucket - 2 Years
  • CI/CD - 2 Years
  • Jira - 4 Years
  • React Native - 2 Years
  • GraphQL - 1 Years
  • HTML5
  • Ionic
  • testing
  • JavaScript - 5 Years
  • GitLab
  • Node.js
  • TypeScript
  • automation
  • Accessibility
  • Authentication
  • Authorization
  • Bundle optimization
  • Code Reviews

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.3Years
  • Dec, 2022 - Present3 yr 5 months

    Senior Frontend Developer

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

    Frontend Developer

    Vebholic
  • Dec, 2019 - Nov, 2020 11 months

    Junior Frontend Developer

    Webore Technologies

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.3Years

Senior Frontend Developer

CreativeGuru AI
Dec, 2022 - Present3 yr 5 months
    Built and maintained React Single Page Applications using TypeScript and Tailwind CSS, delivering reusable and scalable UI components. Integrated REST APIs to render real-time AI-driven analytics, predictions, and sentiment data across user-facing dashboards. Applied frontend performance best practices such as memoization, code splitting, and optimized data-fetching strategies, reducing bundle size by ~25%. Collaborated with backend engineers, designers, and product stakeholders to deliver features aligned with release cycles and user feedback.

Frontend Developer

Vebholic
Dec, 2020 - Nov, 20221 yr 11 months
    Played a key role in designing and building a CRM web application from the ground up using React.js, supporting early customer onboarding and product validation. Developed and scaled E-commerce using React, Redux, and TypeScript, collaborating with backend engineers to integrate APIs and business logic. Designed reusable component systems and shared UI patterns, improving maintainability and accelerating feature development across multiple projects and product modules. Implemented responsive, user-focused interfaces, ensuring consistent behavior across devices and browsers.

Junior Frontend Developer

Webore Technologies
Dec, 2019 - Nov, 2020 11 months
    Developed frontend web applications using React and TypeScript for international clients. Translated Figma and Adobe XD designs into responsive, pixel-perfect interfaces. Built UI components using HTML, CSS, JavaScript, and SCSS.

Major Projects

4Projects

Automation & Growth Orchestration Platform

    Built a high-performance browser automation system using Node.js and Puppeteer for large-scale web workflows. Implemented handling for dynamic content, authentication flows, retries, and fault recovery. Integrated the automation engine with a Python-based orchestration service for task scheduling and execution control. Added a lightweight UI for monitoring, control, and operational visibility.

Subscription-Based Growth Platform (Full-Stack)

    Built a full-stack SaaS platform for user onboarding, account management, and service activation using React, TypeScript, Node.js, Express, Stripe APIs, REST APIs, and Tailwind CSS. Implemented subscription billing, upgrades, cancellations, and lifecycle management using Stripe APIs. Developed analytics dashboards to track engagement, activity, and service performance. Enabled users to manage profiles, pause or resume services, and control preferences.

Real-Time Analytics & Community Platform

    Built a real-time analytics platform with live data visualization using React, TypeScript, WebSockets, Chart.js, and Material UI. Implemented WebSocket-based communication for live updates, messaging, and presence. Developed real-time interaction features such as following, unfollowing, and user engagement. Integrated live data feeds to ensure low-latency UI updates and state consistency.

AI-Powered Content & Publishing Platform

    Built a frontend platform for generating, managing, and publishing AI-assisted content using React, TypeScript, Tailwind CSS, shadcn/ui, REST APIs, and AI Integration. Integrated AI-powered backend services for content creation and scheduling workflows. Designed responsive, user-friendly interfaces using Tailwind CSS and shadcn/UI. Implemented configurable workflows for reviewing, editing, and publishing content.

Education

  • Bachelor of Science

    Kanpur University (2020)
  • Full-Stack Web Development Certification

    Full-Stack Web Development Bootcamp (2019)

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, my main tech stack is React, JS, TypeScript, and Tailwind CSS. That's what I've been using in my recent projects. And, I have worked with, worked with several SaaS projects, and I have worked, on multiple projects at the same time. So I have experience working, on multiple, teams, and I work with small teams and larger teams. So I have gained a lot of experience during that, and I also have experience with back end. Some, I have worked with Node. Js, and I'll I've worked with some of the, 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 in a React application, we need to define first of all, a feature that we want to implement in our React application. Deciding on a feature which we want to toggle, create a set of feature flags, and then integrate that into the Redux store and the feature flag state to the Redux store, and we can have a slice of a state dedicated to feature flags where each flag is represented as a Boolean value. And we can have an initial value for our feature flag, which can be defaulted to either true or false, and then we can update that flag logic by using the useSelector method. So we can disable or enable that feature anytime from our application, anytime in anywhere inside any components or any page.

    To handle immutability in a complex React Redux application state to ensure efficient updates, we can follow some of the methods, which include using immutable data structures. Instead of directly mutating state objects, we can use immutable data structures such as Immutable JS, which provide methods to create new copies of data structures with changes applied, ensuring that the original state remains unchanged. We can also use the Redux toolkit, which includes utilities like createSlice and createReducer that handle immutability under the hood. These utilities automatically generate immutable update logic for your Redux state and reduce the risk of accidental mutation. For simple cases, we can use immutability helper libraries like immer.propImmutable or immer.update. These libraries provide easy-to-use functions to produce updated copies of nested state objects without mutation. Additionally, we can use native JavaScript methods like object assignment. When working with plain JavaScript objects, we can use the spread operator or object assignment to create new copies of the objects with updated properties, ensuring immutability by not modifying the new object. In a React application, we can use memoization and normalization. Normalizing the Redux state to improve performance and maintainability involves breaking down complex data structures into a flat, normalized data, which simplifies updates and reduces the risk of unintentional mutations.

    To set up and manage routing in a React application that requires dynamic page loading, we can use the React Router DOM library, which is generally used to handle routing inside a React application. We can define routes in our main component, which could be app.js or index.js, and each route would have a specified path and the component to render. When the path matches the URL, the component will be rendered as soon as possible. We can have multiple components and multiple routes in our React application. It's fairly easy to use React Router with the help of the React Router DOM library, which is very useful for creating routing inside a React application. We can use several methods that come along with the library, such as links. We can use links to navigate through any pages, or we can use the navigate hook, which comes out of the box. There are also other useful hooks that come inside the library. We can use lazy loading components, which is used to optimize our application so that it doesn't load everything when the app is initialized for the first time. Instead, it will load only those components that are needed to be rendered on the specific path.

    React's context API might replace Redux for state management in a situation where a small to medium sized application with a moderate amount of state doesn't require complex middleware or async action or time travel debugging. We can use React context API in this case, as it's a more lightweight solution. It can be used for user authentication state or team preferences or any other small state management. This allows us to tightly couple components that need access to shared state, which are closely related and exist within the same subtree of the component tree, thereby simplifying state management without the need to pass props down to multiple levels, which is called prop drilling. Instead of relying on Redux's centralized store, we can use context API in this case. There's a lot less boilerplate when working with context API, and it requires less setup and configuration. Redux involves creating a store, action types, action creators, and connecting components to stores, which can be overwhelming for small applications. In those cases, context API might work better than Redux for state management. However, it's essential to consider the complexity of the application. 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, transitioning from context API to Redux or using Redux from the start might be a better choice.

    When we want to conditionally apply CSS styles to a DI component in response to user interactions, we can define a state using the useState hook to represent some sort of interaction state. For example, we might have a state variable that tracks whether the user has hovered over or clicked on a button. We can track this state, and as soon as it triggers, the state will change, and then we can render styles according to that state. To do this, we can implement event handlers to update the state variable based on user interactions. For instance, we can use onmouseover, onmouseout, onclick, or any other event handlers to update the state when the user hovers over or leaves the component. We can then define classes that represent different styles for the component based on the interaction state. To conditionally apply these classes, we can use template literals such as JSX to assign class names based on the state variable. We can also use the state variables to conditionally apply CSS classes to the component by assigning the appropriate class names to the className 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 my component function, which takes some props, And the state is the star state. And it is returning the star state dot count. So okay. Yeah. Okay. Setting state directly inside a function component without using hooks can cause problems because React relies on the order of functions to go correctly to manage component state and re-render. When state is directly mutated inside the component function, React cannot track these changes, leading to unexpected behavior such as incorrect rendering or stale UI, or infinite re-renders. So the correct way to handle state in a functional component is to use React's built-in hooks, which includes useState to manage component state. And, of course, we can use useEffect to rerender the component if anything is going to change dynamically.

    Ok, so the async function fetches data, and it has a constant of response equal await fetch, and the URL is http://example.com. It has a constant of data equal await response dot JSON. So the problem I'm seeing here is that when we are converting our response to an object, we are not awaiting for the conversion since it's a promise-based action, which is definitely going to require us to add an await 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 an unresolved promise, and that's going to cause a problem because we are going to expect some kind of data, which is not going to be data, which is going to be an unresolved promise, and that's going to cause problems in our code. And to fix that, simply we can add await 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 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 the front-end development process. The scrum framework combines elements of the scrum methodology with other approaches to streamline software development processes. So when applying this framework to front-end development, we can implement several methodologies like those that improve efficiency and collaboration. We can use some of the methodologies like sprint planning, daily stand-ups, and of course, continuous integration in iterative development, cross-functional teams, and backlog requirements. Of course, we can also use story mapping and retrospectives. To define these points, we can use sprint planning, conducting sprint planning meetings to define the goals and scope of each sprint, and daily stand-ups. Holding daily stand-ups, meetings to synchronize the team, discuss progress, and identify blockers or impediments. Each team member should provide an update on their work since the last stand-up, and we can implement continuous integration, which involves automating the process of merging code changes into a shared repository, and iterative development. We can use an iterative development cycle to deliver incremental improvements to the front-end and break down larger features into smaller, manageable tasks that can be completed within a single sprint. This will allow us to release frequently and have feedback loops with stakeholders, and we can form cross-functional teams that include developers, designers, testers, and other relevant roles. This fosters collaboration and knowledge sharing, leading to better-designed and more robust front-end solutions. And of course, we can continue to enhance our front-end development streamlining process with additional scrum methodologies.

    Can you configure an optimal security setting for a React application considering common web vulnerabilities? Yeah, we can set up some of the common security settings like we should always use HTTPS. So ensuring that the 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, can be implemented to mitigate the risk of cross-site scripting attacks by specifying trusted sources of script, style, font, and other resources, considering libraries like Helmet CSP can be used to set up CSP headers in our server. We can also use VEE and configure CORS errors to restrict access to our API endpoints only from trusted origins, preventing unauthorized cross-origin requests using libraries like Mirage to set up CORS policies in our server, and input validation. So validating and sanitizing user input on both client and server sides to prevent injection attacks such as SQL injection and XSS, avoiding the use of dangerouslySetInnerHTML in our HTML and ensuring that user input is properly escaped when rendered, rendering content. For secure authentication and authorization, we can use JSON Web Tokens and OAuth2 to generate and verify JSON Web Tokens securely, and enforce proper authorization text to restrict access to sensitive data based on roles and permissions, and do some session management. We can also use secure dependencies, implementing additional security features such as strict transport security, expect CTA certificate transparency, and future policy to restrict the user's browser features. And of course, we should always perform security testing, including regular security testing, static code analysis, dynamic application security testing, and penetration testing to identify any kind of security vulnerabilities.