High-Performance Marketing Email Delivery System [complete rewrite]
The client for this project was a long-standing business that had been in operation for over 20 years and sent billions of emails to customers in the Asian regions every single month. They had used a PHP-based codebase with a ton of extra backend and frontend features that various developers and teams had added to the system over the two decades.
The software was capable of managing the high output and was used daily, but the system was a bit old fashioned and inefficient. It was getting harder and hareder to maintain it due to the ever growing complexity of the codebase, and scaling further was incredibly challenging. It had reached a point where it was more expensive and complex to add more stable code to the existing codebase than it was to rewrite the app entirely.









Objective
Our job was to completely rewrite the application from scratch while maintaining the exact same functionality as the current codebase. The current code was extensive and unnecessarily sprawling and needed to be condensed and optimized. However, the client wanted to stay with PHP as their team was familiar with that.
So, we approached this project by ‘black-boxing’ several parts of the existing codebase that were well-written and already fit for purpose so they could be used in the new edition of the application. We then decided to move forward using a Laravel backend and a Vue frontend. This allowed us to have the flexibility to create a stunning, usable app that was optimized, scalable, and ready for anything while maintaining the foundations of the original PHP codebase.
We separated the front and back end and found a dated PHP app mixed with Smarty templates and SQL queries, many of which were tens of thousands of long lines of code. Our main mission was to take this code and make it neat, organized, and maintainable, updating the front end to remind modern and fast to use while ensuring everything else remained stable and secure.
Process
1,We analyzed the codebase and carefully planned the system.
2,We separated the parts of well-written code from those that needed rewriting completely.
3,We slowly but steadily reimplemented all features by reusing existing business logic combined with new technologies.
4,Our client’s testers thoroughly evaluated the application to reassure that it works as it used to.
5,After months of iterative bug fixing and minor feature adjustments, it was ready for release.
Scope
Web Backend Development
Web Frontend Development
Tech stack
Typescript
NuxtJS
Vue
Vuex
MySQL
PHP
Laravel
AWS
Technical challenges
The obvious challenge was rewriting the monolithic application in a composable fashion.
The application boasted a reasonably complex business logic, and we had to make sure we emulated the original as accurately as possible.
What’s more, our modern team wasn’t totally familiar with the old-style PHP, so we had to dig into it to have a reasonable understanding of what was going on and learn on the fly.
Outcome
After a year of hard work and countless hours, the Scriptide team pulled it off. We created an functionally identical application capable of handling millions of emails daily. It is extensible, modular, and incredibly cleanly written and optimized for the best results in the most lightweight fashion. The client was extremely satisfied with the result. We handed the application over to their in-house development team, which has maintained and extended the application since then.