Senior Full Stack (React + Node) developer2019 - 2020Internal project (Via Toptal)
Technologies: react, node, express, graphql, apollo, wordpress, typescript, storybook, d3.js, seo, PWA, circleci, CI/CD, TDD, Unit testing
- Setup the full stack project with react.js on the frontend and express server on the backend.
- Setup the CI/CD pipeline using circleci.
- Added the component library onto the frontend that uses material UI underneath. Added storybook support as well.
- Added server side rendering support on to the react app for better SEO support.
- Lead the team on the unit testing front. Wrote tests on both the backend and frontend.
- Added D3 library support for charts.
- Optimised the backend apis and added request logging support which we later integrated to metabase for better visualisation.
- Integrated apollo graphql onto the frontend.
- Transformed the webapp to the PWA, added service worker, browser push notifications and updated the UI to look like progressive app.
- Did wordpress setup for the blog hosting.
Team Lead2018 - 2019Money View
Technologies: Node.js, Nest, TypeORM, GraphQL, React, Redux, Angular 5, Ngrx, Material-UI, Jest
- Led a team in the development of Money View's admin panel in Angular 5; also integrated Material-UI and ngrx for state management.
- Oversaw a team in the build of a client web app in React; integrated Redux Thunk, TypeScript, Jest, and React testing library.
- Built the back end in Node.js; used Nest with TypeORM as the ORM layer on top of the PSQL database.
- Migrated the above-mentioned back end to a GraphQL architecture and integrated Dataloader for optimized querying.
- Used Apollo in React and Angular 5 and moved the architecture from a REST API to a GraphQL approach.
- Added data visualization using the Chart.js library in React; used server-side rendering for PDF generation as well.
- Integrated Tableau reports for the the admins.
- Integrated Plotly library for some of the complex charts, metric reporting, time-based events, and other custom graphs.
Software Developer2017 - 2019Freelance Projects (Multiple Short Projects)
Technologies: React, React Native, AngularJS, Node.js, Next.js, Nest, GraphQL, Hapi.js
- Built a story app for a client in React Native.
- Integrated the story app to consume data from a WordPress API and to parse the content and render it on the app.
- Integrated syncing storage for a pleasant offline experience as well.
- Worked on a React Native project for a client to create a custom video player component as the requirement of the app was to have a video player with multiple other features like fast forward, 2x speed, 1-click snapshot, and so on.
- Migrated pieces of the React project to Next.js as the client was facing an issue with SEO optimization.
- Integrated a styled component in the above-mentioned React project as well to reduce the initial page size and improve page speed.
- Exposed the features of existing back-end projects via GraphQL and integrated Apollo for the similar reasons.
- Built an MVP application on Hapi.js and also integrated a Swagger UI library .
Senior Web Developer2017 - 2018Times Internet
Technologies: React, Node.js, Redux, REST, Database, Express.js, Webpack, GraphQL, Socket.IO
- Built a React-based UI in a content moderation admin panel for articles. It enables moderators to view articles written by content writers and suggest, edit, mark, or comment on certain words or sentences.
- Developed a custom editor in React to provide basic stylings in the content.
- Added an image uploading feature in the custom editor, added features to crop and scale the image on the go.
- Constructed the back end in Express.js to store moderation content and policy and optimize the moderation engine for new articles, hence reducing the amount the team had to redo work.
- Built a React-based dashboard for moderators and content writers to view and monitor the status of their articles, pending actionable.
Web Developer2016 - 2017eSparkBiz (eCommerce Platform)
Technologies: Node.js, React, React Native, AngularJS, CSS, SCSS
- Built a React-based web app with a responsive UI for an eCommerce platform; also integrated Redux, TypeScript, and Sass.
- Developed a React Native app for an eCommerce-compatible with Android and iOS. The major components include cart, product details, order history, and frequent buys.
- Constructed React Native bridges for exposing native module functions on the React Native side.
- Built the back end for an eCommerce on Node.js using Express, TypeScript, Sequelize, and PostgreSQL.
- Created a service for order processing and tracking. The model was a pub/sub and based on Redis that would trigger appropriate APIs/processes based on the order status change.
Back-end Developer2015 - 2016eSparkBiz (eCommerce Seller Panel)
Technologies: Python, Ruby on Rails, Django, PostgresQL, Redis, Kafka
- Developed an admin panel for sellers in Django to manage inventory, invoices, payments, reconciliations, settlements, and upload tracking details; basically extended the Django default admin panel.
- Built a courier-tracker microservice in RoR (Ruby On Rails) that would integrate multiple third-party couriers by using their APIs or crawling the web page to update the status of the courier into the system.
- Constructed an order processor (RoR) that would manage an order status once the order was placed by the user, handling the seller's shipment and order tracking.
- Implemented audit logs to record all of the updates happening on the order and record its life cycle.
- Built a notification service in RoR that would notify users and sellers of the respective status changes and added email, SMS, and push notifications.
Software Intern2013 - 2015eSparkBiz (Internship)
Technologies: Node.js, AngularJS, Python, Ruby on Rails, Selenium
- Built an MVP for the Child app; this included developing the back end to support feature requests like viewing child specialists around the area, scheduling an appointment, medication history, and a child's nutritious requirement.
- Developed the front end in AngularJS; also integrated the location API to fetch and show the appropriate suggestions and child specialists around a specified area.
- Extended the Child app to be able to view childcare facilities in the area, track appointments, and manage payments.
- Extended the above application to schedule notifications (email and push notifications). Managed the integration of an SMS-based notification for some mobile providers.
- Composed unit and Selenium tests for the end-to-end working of the application.