Midtrans sends out a few hundred thousand messages per day using a notification system. We re-wrote this system in Elixir to improve performance and decrease resource consumption. The average latency of a particular set of notifications decreased from 2.9s to 198ms. The memory consumption went down from 5.3GB to 300MB per node, which brought down the hardware cost to 1/3.
This is an example of how choosing a technology that fits the problem domain well, could improve a system considerably. More details can be found in the blog post by Midtrans.
This tool was built to help monitoring energy consumption across multiple properties & locations (eg: universities, chain of restaurants etc.)
We worked remotely with the a team of Engineers at PulseEnergy, for over 2 years. Most of the product was written by us.
The video below, show some features of the app, allowing slicing & dicing of multiple types of data, across multiple dimensions.
ABOF, wanted a head start in their front-end dev stack. We worked on a few important pages of the incoming traffic, and replicated the same functionality that the existing IBM WebSphere based front-end offered, over the span of 3 months.
And when we shipped it, it was among the fastest loading sites.
Our aim, was to give ABOF a head start with the technology, so their internal team could pick up and continue the work. We worked with their engineers, tech team and product team, to figure out what was needed, which parts could be compromised for shipping the product faster, and how to achieve the desired speeds with existing infrastructure.
With the success of the first implementation (The business saw a considerable increase in the conversion rate), ABOF asked us again, to redo their checkout process. Which, again, we delivered in 2 months, within time.
Below is the loading times of the listing page of various e-commerce sites, when we delivered ABOF's listing page.
Sleekr hired us to help improve the performance and stability of their app. Apart from code contributions, we helped provide high level technical guidance, laid a 6 month roadmap (to further stability) for their tech team to follow & gave regular feedback with code reviews. Some specific tasks we were involved with included introducing webpack to an alpha version of Angular2 for performance (when it wasn't officially supported), de-tangling an over-architected micro-services setup, experimenting with GraphQL for some components & building a mapper which extracted GraphQL types from Doctrine (an ORM).