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 visualisation using Chartjs 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 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.