profile-pic
Vetted Talent

Jignesh Gondaliya

Vetted Talent

As a Senior Software Developer with 7 years of professional experience, I am deeply passionate about building efficient, scalable, and user-friendly digital solutions. My drive has always been about addressing complex challenges with innovative solutions.

  • Role

    Senior Backend Engineer

  • Years of Experience

    8.2 years

Skillsets

  • React.js
  • DynamoDB
  • ECS
  • Event Sourcing
  • Event-driven
  • gateway
  • GitHub Copilot
  • GraphQL
  • Lambda
  • PGVector
  • Postman
  • Pub/Sub
  • Datadog
  • REST
  • S3
  • semantic search
  • SonarQube
  • SQS
  • stripe
  • Swagger
  • Terraform
  • Weaviate
  • Payal
  • Redis
  • Docker
  • Microservices
  • MongoDB
  • Node.js
  • PostgreSQL
  • Elasticsearch
  • Express.js
  • Jest
  • Kubernetes
  • Mocha
  • AWS
  • Pinecone
  • RabbitMQ
  • Supertest
  • TypeScript
  • Websockets
  • Apache Kafka
  • Auth0
  • Bedrock
  • ChromaDB
  • CI/CD

Vetted For

11Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Full Stack Developer - (PHP Laravel/React)AI Screening
  • 81%
    icon-arrow-down
  • Skills assessed :REST API, SCORM, Web sockets, React Js, AWS, Docker, HTML / CSS, Laravel, MySQL, PHP, Tailwind
  • Score: 73/90

Professional Summary

8.2Years
  • Feb, 2025 - Present1 yr 1 month

    Senior Backend Engineer (AI-Enhanced Platforms)

    Professional Practice Emirates
  • Nov, 2023 - Dec, 20241 yr 1 month

    Senior Fullstack Engineer (SaaS & GenAI)

    Uplers
  • Sep, 2021 - Aug, 20231 yr 11 months

    Senior Backend Engineer (AI & Analytics)

    Nesscale Solutions
  • Apr, 2018 - Apr, 20191 yr

    Backend Developer

    Uvoc Technologies
  • May, 2019 - Mar, 20211 yr 10 months

    Backend Developer

    Excellent Web World

Applications & Tools Known

  • icon-tool

    PHP

  • icon-tool

    cPanel

  • icon-tool

    XAMPP

  • icon-tool

    MySQL

  • icon-tool

    FTP server

  • icon-tool

    jQuery

  • icon-tool

    Git

  • icon-tool

    REST API

  • icon-tool

    React

  • icon-tool

    Javascript

  • icon-tool

    Node.js

  • icon-tool

    Vue.js

  • icon-tool

    Laravel

  • icon-tool

    MongoDB

  • icon-tool

    Jira

  • icon-tool

    Skype

  • icon-tool

    CodeIgniter

  • icon-tool

    Postman

  • icon-tool

    Amazon S3

  • icon-tool

    Amazon EC2

  • icon-tool

    Ajax

  • icon-tool

    Visual Studio Code

  • icon-tool

    WebRtc

  • icon-tool

    ReactJS

  • icon-tool

    Next.js

  • icon-tool

    AWS

  • icon-tool

    Docker

Work History

8.2Years

Senior Backend Engineer (AI-Enhanced Platforms)

Professional Practice Emirates
Feb, 2025 - Present1 yr 1 month
    Leveraged generative tools to refactor legacy Node.js codebases, improving code maintainability and reducing technical debt. Architected and delivered scalable Node.js microservices using TypeScript for high-volume financial transactions. Implemented agents using LangChain to automate backend tasks such as log analysis and error anomaly detection. Engineered backend services capable of handling 10k+ transactions per second with sub-100ms latency. Designed secure, idempotent RESTful APIs with JWT/OAuth2 authentication for banking security compliance. Implemented event-driven workflows using Kafka and AWS SQS/SNS for reliable message delivery. Optimized complex PostgreSQL queries and implemented Redis caching strategies. Implemented AWS Lambda functions for burstable workloads, reducing infrastructure costs. Deployed services on AWS ECS using automated CI/CD pipelines via Github Actions and Terraform. Collaborated with React.js developers for frontend integration. Utilized Github Copilot and custom LLM scripts to accelerate unit test generation. Implemented distributed locking and retry mechanisms for data consistency. Managed documentation using Swagger/OpenAPI, auto-generated via tools. Mentored junior developers on Node.js best practices and coding assistants. Participated in daily stand-ups and code reviews for agile delivery.

Senior Fullstack Engineer (SaaS & GenAI)

Uplers
Nov, 2023 - Dec, 20241 yr 1 month
    Integrated OpenAI GPT-4 API into the SaaS platform for intelligent content suggestions and automated reporting. Built a Retrieval-Augmented Generation (RAG) pipeline using Pinecone and LangChain for document knowledge base queries. Designed and developed modular backend services using Node.js, Jest, and Express for a high-traffic SaaS platform. Led migration of a monolithic legacy application to distributed microservices architecture. Built high-performance GraphQL and REST APIs with validation and error handling. Managed AWS infrastructure, utilizing S3 for storage and CloudFront for content delivery. Diagnosed and resolved bottlenecks in MongoDB and PostgreSQL using indexing and aggregation pipelines. Contributed to React.js frontend features for seamless integration. Implemented Redis caching to improve responsiveness. Established automated testing pipelines using Jest and Supertest. Containerized backend services using Docker. Integrated Elasticsearch for advanced search capabilities. Implemented secure authentication and role-based access control using Auth0. Set up monitoring dashboards with Datadog.

Senior Backend Engineer (AI & Analytics)

Nesscale Solutions
Sep, 2021 - Aug, 20231 yr 11 months
    Built AI-driven backend services using Node.js and Python for predictive analytics dashboards. Implemented semantic search features using pgvector and OpenAI embeddings. Developed secure and scalable APIs using Node.js and Express for complex data transformation pipelines. Implemented AWS Lambda functions for background processing. Designed real-time notification systems using WebSockets and Redis Pub/Sub. Increased code coverage to 85% with comprehensive unit and integration tests. Built data ingestion pipelines using AWS Kinesis for streaming data. Refactored code paths to improve execution speed and reduce memory consumption. Designed efficient schema for NoSQL (DynamoDB) databases.

Backend Developer

Excellent Web World
May, 2019 - Mar, 20211 yr 10 months
    Developed backend services for high-traffic CRM and e-commerce platforms using Node.js. Designed normalized MySQL schemas and NoSQL models in MongoDB. Integrated third-party payment gateways (Stripe, Payal) and logistics APIs. Implemented secure JWT-based authentication mechanisms. Automated business processes using background jobs and scheduled tasks. Optimized database queries for faster reporting and data retrieval.

Backend Developer

Uvoc Technologies
Apr, 2018 - Apr, 20191 yr
    Migrated legacy applications to modern Node.js services. Built and maintained REST APIs for client projects. Provided ongoing maintenance and bug fixes for production applications. Improved application performance by optimizing SQL queries and code structure.

Major Projects

24Projects

Content Delivery Platform

    High-traffic content platform with caching using Next.js and Redis.

API Developer Portal

    Documentation and testing hub for external developers using React and Swagger.

Subscription Management

    SaaS subscription handling and recurring billing using Stripe API and Node.js.

Digital Wallet System

    Secure wallet management and transaction processing using Node.js and AWS.

Loyalty Program Engine

    Points accumulation and redemption service using JestJS and PostgreSQL.

Fraud Detection Service

    AI integration for real-time transaction risk scoring using Node.js and LLMs.

Customer Support Portal

    Real-time support ticket management system using React and Socket.io.

Order Management System

    Centralized order processing and fulfillment engine using Express and MySQL.

Data Ingestion Pipeline

    High-throughput streaming data processor using AWS Kinesis and Lambda.

Inventory Management System

    Real-time inventory tracking with NoSQL database using Node.js and DynamoDB.

User Authentication Service

    Centralized identity management system using OAuth2 and JWT.

Notification Service

    Centralized notification system for email and push alerts using AWS SNS/SQS.

Chat Assistant

    Enterprise chatbot with Retrieval-Augmented Generation pipeline for internal knowledge retrieval using Node.js, LangChain, and OpenAI.

Distributed Search Service

    Search microservice for sub-second data retrieval using Elasticsearch.

Multi-tenant CRM

    Scalable CRM supporting multiple enterprise tenants using Node.js and React.

Healthcare Appointment System

    Booking system with complex scheduling logic using Node.js and PostgreSQL.

Real-time Chat System

    Scalable chat application for enterprise support using Socket.io and Redis.

SaaS Analytics Dashboard

    Fullstack analytics platform with GraphQL APIs built using React and Node.js.

Event-Driven Logistics Platform

    Shipment tracking system using event-driven architecture with Node.js and Kafka.

SecurePay Transaction Engine

    Real-time payment orchestration with secure APIs using JestJS and Redis.

CoreBank API Gateway

    Scalable gateway for transaction routing using Node.js, AWS API Gateway, and Lambda.

Resume Parser

    Serverless document processing pipeline extracting structured data from CVs using Node.js, AWS Lambda, and NLP.

Semantic Search Engine

    Vector-based search service replacing keyword search for improved relevance using Node.js, Pinecone, and OpenAI.

Gen Content Generator

    Automated content creation tool for SaaS users built with JestJS and GPT-4, increasing engagement by 50%.

Education

  • Diploma in Computer Engineering

    Gujarat Technological University (2018)

Interests

  • Watching Movies
  • Reading
  • AI-interview Questions & Answers

    Hello. Myself, I'm carrying over 5.5 5 years of experience in, uh, back end and front end technologies. In the back end, my in back end, my expertise are in a PHP Laravel coordinator Node. Js. And in front end, my expertise in, uh, HTML series is Mooshepp and React. Js. I have also worked, uh, with, uh, uh, 3rd party APIs and, uh, REST APIs. And, uh, in the database, I have experience in MySQL and MongoDB. And, uh, for the server, I have experience in AWS EC 2 instance and CloudFront Technologies. That's all about me. Thank you.

    And yeah. Uh, so to manage database transaction Laravel, uh, and ensure asset properties, which is atomicity, consistency, isolation, and durability, uh, are maintained. I can employ employ the strategies like database transition. So in which, uh, I will use Laravel between database transaction method like d b e d b being transaction, d b commit, and d b rollback to to rep to rep the database operation. Uh, this will ensure, uh, that either all the operation within transaction are completed successfully or none of them are applied. Then error handling. So that will implement proper error handling mechanism within within transaction blocks to catch exception and and the robot transaction when error occur, ensuring consistency. And, uh, then isolation levels. So, no, for that, uh, choose up for that, we have to choose appropriate isolation level for the transaction to manage the level of to manage the level of of visibility and concurrency. Lara will support, uh, setting isolation using database configuration or query builder. And, uh, then testing. So, thoroughly, we have to test the database transaction, especially in scenarios involving concurrent access to ensure that data integrity data integrity is maintained under different conditions. And then optimistic optimistic locking. Uh, so for that to we have to use optimistic locking technique to create concurrent modification to the same data by multiple users. Uh, Lara will provide support for optimistic locking through the lock for update method. And, uh, then then database constraints. So we we have to define appropriate database constraints, such as a foreign key constraint, unique constraint, and the check constraint to enforce data integrity at the at the database level.

    Okay. Uh, so to rendering reactor, uh, to optimize to optimize rate rendering process when handling that dataset and integrate with with parallel backend. Uh, we have to use we have to we have to use virtualization, uh, in which we have to use libraries like react virtualize or react to window to render only the visible items that will reducing the memory footprint and improve the performance. Uh, then then pagination or infinite scrolling. So in which fetch data in smaller chunks to avoid avoid loading all all data at once, This reduce the initial load time and improves user experience. Uh, Laravel pagination features can can can help with this. And then the memoization and pair components. So the memo is expensive computations and use the square component or or normalization technique to to create unnecessary re renders. Then we have to use use of IndexedDB or local storage or local storage, then optimize API response, and then then then implement server side, uh, SSR. That means server side server side rendering, caching, and then then lazy loading. It means load components, images, and other asset asynchronously to prioritize the initial rendering and improve overall improve overall performance. Uh, here, I mentioned the caching, uh, which means implement caching caching mechanism at on both the front end and back end to reduce the load on the server and and speed and speed up the subsequent request. As I mentioned, SSR server side rendering, uh, in which we we have to render the initial HTML on the server to to improve perceived performance and SEO, then then iterate with then then iterate with React on the client side. Libraries, like, uh, in in interior.jaz or livewire.

    Uh, okay. So in Laravel app, uh, by using by using MySQL indexes, uh, can be significantly improve improve the query performance, uh, in that means faster data retrieval, uh, optimize sorting and filtering, and enhance join performance, and the the reduced or disk IO IO. Okay? So so the the the partial data rate table means in indexes act like a table, uh, of content for your for for for your database tables. When you execute a query that in those index columns, MySQL can quickly locate the rows to matching the query criteria and leading to to leading to faster data retrieval. Uh, optimized sorting and filtering means in indexing indexes speed up the sorting and filtering operation by reducing by reducing the numbers of rows that need to be scanned. For for example, if you have an index on a column used in where clause or in order where clause, so MySQL can use the indexes to efficiently locate and sort the sort the relevant rows. Uh, and and and a join performance means index can also improve the performance of join operation by allowing MySQL to quickly locate the rows in the join in the join table that that met the join that met the join condition. Yeah. Uh, the last one I I was I I mentioned was reduced disk IO. So by using indexes, MySQL can MySQL can minimize the disk IO operation because it doesn't have to scan the entire table to to find the requested data. Instead, it can use the indexes to directly access the, uh, directly access the relevant rows.

    Okay, so for the AWS S3, that includes a few steps like the, like first of all, we have to set up a AWS S3 bucket. So for that, we have to create an S3 bucket in AWS account to store the uploaded files and then configure the bucket permission to allow access only to authorized user. Then we have to install AWS SDK for PHP. So we can do that by the command composer require AWS forward slash AWS SDK PHP. And then we have to configure AWS credential. So we will add AWS configuration in config service.php file or use environment variable for security. Then we have to ensure that the IAM user is associated with the credential that has permission to access the S3 bucket. Then we have to create the file upload form. So we have to implement the file upload form in Laravel application view using HTML forms or Laravel form helper method. And then we have to handle file upload in the controller. So for that, we have to create a controller method to handle the file upload. In this method, we will use the store method to store the upload file on S3 bucket. And then we will write the function. And then we have to securely handle the file upload. So for that, we will validate the upload file to ensure it meets the application requirement. For example, file type and sizes. And then we have to return, and then we have to return response. So after successful file upload, it will return response to the user including a success or fail. And then we have to check the access control. That means we have to set up appropriate access control setting on the S3 bucket to control who can access the uploaded files. Thank you.

    Okay. Uh, so the Laravel queue system queue system background processing and what what AWS services would complement it. Uh, okay. Uh, so the Laravel queue queue queue session of facial background facial background by by allowing to defer the processing of time consuming tasks, such as sending emails sending image, processing image, or interacting with the external APIs to to a later time. So so this so this help improve the responsiveness of of your application by by uploading nonessential, uh, task task flow queue, which can which can be processing synchronizing. So so how how Laravel queue work? Uh, so so then my question is how how Laravel queue work? So so so first to first, we have first, we have to make configuration. Laurel's out of the multiple queue QDAVALS out of the box, including Redis, Amazon, uh, Amazon HQs, and and others. You can configure the q driver in the config q dot PHP configuration file. Uh, the the second task is job dispatching. So when you want to execute a task asynchronously, you you you dispatch a job to the queue using Laravel's dispatch method. This method queues the job for for later processing. And and then then comes queue workers. So queue queue workers are processed. That continuously monitored that continuously monitor the queue for incoming job. When a job is audible, a worker pick pick it up and execute it execute it. You can start 1 or more queue who queue queue worker using Laravel's queue work artisan command. And then the last one is the job execution. So each each job class in Laravel represents unit unit of work that need to be performed, you define the logic for the job. You you define logic for the job with with it handle method. So the automatically serialize and and deserialize job object, making it easy to pass complex data structure between your application and and and and and and the queue queue workers. Uh, as as for the AWS services, that the complement that that that complement Laravel, uh, queue system. For for for for for that, we can use sim simple queue service, uh, which is Amazon SQS and Amazon SNS. That is a simple notification service. Then Amazon Lambda. Then, uh, then Amazon ECS, which is Elastic Container Service.

    Okay, so, so, so, so the code snippet stay is. is a method of getUser that attempts to find a user by their ID and it returns the user data as a JSON. If the user is not found, it's supposed to return JSON with an error message and 404 HTTP status code. So, there could be problem with the request ID part if the ID is not being passed correctly in the request or if the ID field does not exist on the request object or on the request object. So, another potential issue could be with the user find method. Perhaps if it's not working as expected due to the database connection issue or model configuration problem in the ORM being used. To debug this, I would first ensure that the $request object contains the expected ID field and that it's being passed correctly. I would also check the user model to make sure it's set up correctly and can connect to the database. Checking the logs for any errors that occurred during the request could provide further insight into what might be going wrong. By adding error handling to catch any access during the find operation and logging this exception could also be helpful for debugging purpose. Additionally, the testing method with a known user ID to see if it returns the correct response would be a good step to confirm that the method works under the same conditions.

    Okay. So so the user profile so so there's so the user profile, which includes constructor and handles a method for sending user data along with the render method. So the potential issue is there is no actual button in the render in the render method to trigger the handles of method. To to to to the render method should in include a button that when clicked calls the handles method. The the so for the better state management, we can use, uh, save service or data function, handles error and update the component state accordingly. Uh, use control component for form input to sync the formulas with the component's state. Uh, we we have to replace the alert with less less intrusive way to to notify user of the save status. Then then we have to add the handle show method to a button in the render method. If if props are ex expected to change, uh, change over time, then we have to consider consider using life cycle method or book to update the state in in response to prop change.

    Okay, so to apply the SOLID principle in FullStack Laravel or React application, here I would like to talk about the Laravel application. So in the Laravel application, first I will use the SRP, which means Single Responsibility Principle, that means each class should have only one reason to change, meaning it should only have one job. So in Laravel, we have to separate the logic into different classes based on their functionality. For example, controllers should only handle the ITP request and delegate business logic to service classes. Then I can also use the Laravel jobs for background tasks, processing, and even for handling the side effects of the main action. And then OCP means Open Close Principle, so the software entity should be open for extension but closed for modification. Then we can use the LSP, which means Lisco Substitution Principle, so the object of a subclass should be replaced with objects of subclass without affecting the correctness of the program. And then we can use the ISP, which means Interface Aggregation Principle, so in which clients should not be forced to depend upon interfaces they do not use. Then the DAP, which means Dependency Inverter Principle, which means high-level modules should not depend on low-level modules, both should depend on abstraction. Abstractions should not depend on details, so the details should depend upon the abstractions. So by using this, we can use the SOLID principle in Laravel application, and here we can also consider by creating service provider using middleware, employing resource controller, utilizing form request, using EloCount, implementing policies, and writing features, and you need to ensure the Laravel code behavior.

    Okay. Um, so to improve the performance, to enhance the performance of a re React app with a heavy visual elements, uh, I I can use the lazy loading. So for for that, we have to use dynamic input syntax or, like, or, like, libraries like a create lazy load to to lazy load components. And, uh, then the code splitting so it's so that will split the application into smaller sense using Webex, uh, or or parcel with with which which offer loading only the necessary code at the start and and the rest of the month. And then we can be using the pure component and and the debug dot memo. So so this can prevent un unnecessary re unnecessary re renders by by Celo comparing props or stack. And then and then we can use op optimizing renders with should should component update. So so it it will implement this lifecycle method to our un unnecessary render when the state or props haven't changed changed significantly. And then we can then we can use then we can use the virtualization. So so for that, we have to use the you you use the libraries like like react window or virtualize to to to only to to only render items that are currently that are currently visible in the viewport. And then we can use the throttling and and debouncing even in that. So so so for continuous event like scrolling scrolling or resizing, we can use throttling. We we can use throttling throttling or debouncing to limit the number of times, uh, the events handler are called. And and and then we can use the, mhmm, and then we can use the Canvas drawing. Then then another one is the and then the then the then the another one is the web web workers. Uh, and and then we can also use the c s a transition and animation. We we can use the, uh, we we can use the immutable data structure. And then then we can also use the profiling and and optimizing component. And then we can reduce the bundle size. And then then, also, we can use the SSR, which which is server side rendering. And, uh, then we can prioritize, uh, and then we can prioritize loading. So, uh, so in in in that way, we have to use the link tag and the real real is equal to preload. And then we can, uh, you you you you you use the state state management optimization.

    No. Okay. So the testing complexity component interaction in in web application using Jest, uh, I, uh, uh, I I have to set up the testing environment. So so so first, I will in so first, I so so the first, I will install Jest by using the command npm install, uh, save save dev Jest. And then I will install the recitation library, uh, NPM install. Save dev at the rate testing at at at the rate testing library, um, and take take enter a test library for forward slash jest jest dom. And, uh, and then then I will configure jest. So for that, uh, I, uh, I will create or update the test.config. Js file. Uh, and then, uh, I will set up the test utilities in in in setup test dot JS file. Uh, and then I will I I will write the test. Uh, so in so in which I will render the component by using the react testing library to render the component. Yeah. Then I will simulate user interaction. Then I I will test effects and callback. And then then then I will use passing passing operation and API mocks. And, uh, then, uh, I I I will check the add ons technique, like testing prop change, context context providers, or hooks. Uh, so so so so the hooks will so the hooks will utilize the texturing library to to test the custom hooks. Then then I then then I will use the performance testing that that will use to profiling to understand the component performance with with various state and props. Then, uh, I will use the main ability, uh, which is clear test cases. Uh, that that means we we will name the test case clearly and ensure they are focused on specific functionalities. And then we can use the mocks and stubs, you know, by by using just smoking function twice a little component for for for unit testing while while stubbing out complex dependency. So so by this type of strategies, uh, we we can we can effectively test the complexity component interaction that will ensure the app application is, uh, application is bug bug free and user friendly.