Defender Security

  • More than two and half years of development contribution (paid) to the security plugin Defender Security (transformed from 60,000+ to 90,000+ active installation during the course of my involvement)
  • Programmatically transpiled the Defender Security plugin using Rector
    • Transpiled the source code from PHP 5.6 to 7.2 and once again from 7.2 to 7.4 after few releases
    • Previously (before I’m working at Incsub) in Defender Security plugin team manually migrated PHP version from 5.2 to 5.6 which roughly consumed 6 months with two developers effort whereas for 5.6 to 7.2 it took 15 days with one developer (myself) effort only because of auto-transpiling using Rector
  • Improved the scan completion rate and performance in Defender Security plugin
    • Previously scan functionality iterate over each and every PHP file for scanning by iterate using recursive AJAX call (long polling)
    • Instead of that, I rewrote the scanning logic to use Action Scheduler asynchronous background processing package
    • Which practically avoided partially failing of scanning because of over memory usage by long polling strategy
  • Reduced the plugin size in many ways in Defender Security plugin
    • In Tailwind CSS configuration, found tree shaking option is missed therefore just by enabling this reduced CSS file size 75% to 80% in chunked CSS asset files in production build
  • Improved the page loading speed in one of the worked project by 90%
    • Debugged and found that SQL query fetched using Cartesian product which leads to slowed down the page load around 10 seconds
    • Split the SQL query join into independent SQL query and handled data massaging in PHP
    • Which improved the page loading (loaded less than a second, i.e. turned from multiple seconds to milliseconds for rendering the complete page)
  • And many more complex refactoring in all projects involved