Maître Updates #2

TL;DR
Our second update focuses on performance improvements.
One user literally crashed our servers 5 times (thanks Jake :D) and we had to massively improve our infrastructure. The bad news is that it’s been a pain in the ass. The good news is Maître is now blazing fast.

Performance improvements

I was waiting for this moment. When I built Maître the first time it took me 4 days and most of the code is still the same. Yes, lots of small improvements and some big feature but the core of the app has been the same for 3 months. It was just a matter of time before I had to refactor some code and optimise for performance.

One of the biggest problems with widgets is that you have to handle not just your traffic but also the traffic of the websites that host your widget. Maybe someone gets featured on a big publication or just receives lots of traffic for whatever reason. Well, this is exactly what has happened to me last week, when one user had generated 20K+ subscribers in less than 3 days, basically bringing Maître infrastructure to its knees.

I had to immediately scale the servers and the database to handle the traffic Maître was generating: 2 new subscribers every second, tens of thousands of emails sent every day and much more. I have upgraded the entire infrastructure with much better servers and a more performant database. I’ve also refactored the widget to send the minimum amount of code to your website as possible, but it’s the caching that is doing most of the heavy-lifting. Leveraging on a high-performance, distributed memory object caching system such as Memcached, I have been able to decrease latency by 89% (as shown in the image below), which means that now Maître loads in less than 200 milliseconds. For the joy of customers and my own wallet :)

Another big improvements has been the refactoring of the dashboard. Before, users with more than 15K subscribers were waiting up to 10 seconds for the page to load. The big change has been to rewrite the system to serve data asynchronously: all heavy calculations are executed in the background every 10–15 minutes. This means that the data shown in the dashboard is not always accurate (you can see a timestamp of when the last update was performed) but the trade-off in terms of speed is extraordinary.


Import existing contacts

I’m excited to finally release one of the most requested features: import existing contacts into Maître.

All you need is a CSV file with a list of contacts and you can import 10K subscribers at the time. For more information check the official support page.

Bear in mind that this feature is still in beta so please report any unexpected behaviour :)


Whatsapp

Last but not least I’ve added Whatsapp in the social icons shown by default. This icon will only appear on mobile devices and allows people to share directly into the Whatsapp app installed on the phone.

We have done some internal testing and it’s already the most used social platform by our users!


That’s it for this update. As usual, let me know what you think in the comments or ping me an email (hello@maitreapp.co).

Click on the ♥️ below if you enjoyed the lolz :)