At Freshworks we build Helpdesk for Customer support and ITSM. We also have CRM and highly integrated product lineup.
Chennai, India
React Community
Maintainer
React website and its localizations
www.reactjs.org
beta.reactjs.org
Freshdesk Messaging
Freshchat is a modern messaging software built for sales and customer engagement teams. (Formerly Freshchat)
Software Engineering Intern Jan - Oct 2020
Graduate Trainee Oct - Jan 2021
Software Engineer - Frontend Jan 2021 - April 2022
Reskinned Freshchat
SCSSEmber.js
As part of Freshworks CRM, we worked on combining the Freshchat + Freshsales together. I predominantly worked on UI changes in Freshchat portal and agent widget
Campaigns migration
SocketsEmber.js
Migrated legacy API based campaigns to Socket based ones within 2 weeks. Completely owned the change and implemented without any breakages.
large
Freshsales + Freshchat
large
Freshchat + FreshMarketer
medium
Wrote test cases to improve code coverage
large
Maintained Inbox and Agent Widget in Freshchat
Won internal Freshworks 2020 hackathon
Reply to messages
Ember.js
Built a feature where user can reply to specific messages like whatsapp. It can be called as threads as well.
Message drafting shortcuts
Ember.js
Drafting messages are hard? Built a feature to map shortcuts to full forms like brb -> Be Right Back. Emojis are few clicks away ? users can access it with something like :joy: -> 😂
Voice Notes
Ember.js
Built a in-app voice recorder and player in Freshchat for web experience
large
Performance Improvements
medium
Stability
Implemented Occlusion rendering
Ember.js
Implemented a efficient dropdown that can list 10k+ options inside without all being in the DOM for Freshchat.
Removed unused scripts
Ember.js
Analyzed the external scripts and its need then deferred/asynced them and even removed dead scripts from the codebase. Thanks to Network tab in devtools
Revamped API flows
Ember.js
Went through the API calls to find data that are not being used in the initial load and lazy loaded those data.
L2s and L4s
Was looking after Inbox module, Agent widget, FAQ, Topics and all tickets related to that
Code Splitting
react
Split the Sandpack from main bundle reducing around ~150KB from each blog page
Code Maintenance
javaScript
Setup Linters and Prettiers for beta repo
Added git actions for beta site
Code Migration
javaScript
Wrote node scripts to convert yml files to vercel redirects file
Wrote custom pre commit hooks to generate and validate heading IDs in markdowns
Persisting Dark Mode
javaScript
Added persisting dark mode for beta site
Website Migration
EleventyJavaScript
Helped with fixing bugs, standardizing build process during migrating docs from archive.eslint.org to eslint.org
Added more package managers
JavaScript
Added support for installing dependencies using yarn and pnpm while using ESLint's init config
Added fallback for projects without config
JavaScript
Removed initializing ESLint config for projects without package.json