Milk Moovement is a supply chain logistics startup operating in the dairy industry by connecting milk producers and processors with sophisticated data analytics technology. The platform collects a variety of data from milk producers and processors. Depending on their unique use cases and preferences, they need to send customizable and unique notifications to the stakeholders.
For instance, a producer might want to receive a notification when a certain amount of milk is lifted from their facility, how much time a truck spends on their premises waiting, lab results of milk samples that do not meet specific quality standards, etc. To optimize the entire supply chain process and to ensure the best quality of dairy available, notifying the right stakeholders at the right moment is just as much crucial as collecting and analyzing the data. So, the notifications were time-sensitive as well as crucial.
On the development side, Milk Moovement has a fast-growing engineering team with 18 full-stack developers at the time of this writing and tripling in size annually. The team also consists of security engineers, DevOps, and designers. We learned the challenges of implementing notifications and how the integration of NotificationAPI helped Milk Moovement optimize its processes and save valuable development time. Milk Moovement is one of NotificationAPI’s earliest and most important clients.
We chatted with Jacob Brown, development team lead at Milk Moovement, and discussed notifications in their product. You can watch/read parts of our interview here.
Cumbersome and rigid architecture
Despite notifications being an essential element of the entire process, the initial solution was inefficient. Mr. Brown said, ‘The system was extremely rigid, as well as not very extensible.’ Every new notification or adjustment had to be custom coded. Email templates or in-app notification UIs with thousands of lines of code that had to be copy-pasted to create new notifications or inspected and tested for minor adjustments. Describing their previous process before using NotificationAPI, Brown replied, ‘It was cumbersome…cumbersome and error-prone.’
"It was cumbersome…cumbersome and error-prone."
The complexity of the solution made it undesirable for the developers to work on it. Due to the rigidity of the notification system, creating, modifying, maintaining, and extending the technology was time-consuming and not intuitive. This is in addition to the complexity of introducing new notification types such as SMS.
Evaluating Notification Services
The Milk Moovement team considered several options for a notification service to remedy the situation. Unfortunately, none of the big players in this domain offered precisely what they needed. Existing solutions were geared towards more marketing and promotional use-cases. But Milk Moovement needed a developer tool that focused on sending product-to-user notifications, automated & unique for each user, while reducing the need for developer involvement.
‘So we did look at those solutions. And the evaluation was that it wouldn't do what we needed it to do. So that's why we ended up with NotificationAPI.’ – Mr. Brown said.
According to Mr. Brown, Integration with NotificationAPI was easy. The team designed all the notifications in NotificationAPI's dashboard without having to code anything. The integration to their codebase was done using the SDKs, which only require a few lines of code. Integration with other tools, e.g., Twilio and SendGrid, was also taken care of out of the box. The notifications can be set up once and configured in any way desired, such as through email, in-app, SMS, or even automated voice calls.
After testing all the new notifications in both staging and production environments, the team switched the back-end to use NotificationAPI instead of their internal notification logic.
Creating and editing templates for notifications was user-friendly and did not require developer involvement anymore, and this saved them a lot of headaches. Most importantly, Milk Moovement did not have to monitor their notification service and delivery. This helped them focus more on their product priorities. ‘We want to be spending time on building out the complexity of our system, not dealing with making sure that users will receive the notification,’ – said Mr. Brown. Overall, the entire solution saved time and gave them additional features and peace of mind.
When inquired about the approximate amount of time saved, Milk Moovement estimated that they saved around three days’ worth of work each time they had to make a new notification. In the past six months, they have saved at least a few week's worths of development time, not to mention the additional time saved for testing and monitoring the system - Mr. Brown estimated.
What Milk Moovement treasured most was the dedicated and prompt support they received from the NotificationAPI team. They appreciated that NotificationAPI provided regular updates and cooperated in every way possible. Even though NotificationAPI was providing a service, it felt more like a partnership due to the amount of involvement NotificationAPI provided.
Looking back at the experience, Milk Moovement concurred that if they had to develop a notifications system again, they much rather use the services of NotificationAPI instead of trying to build everything from scratch, thanks to the time and resources saved by adopting this service.
If I had to describe NotificationAPI in one word it would be simple!
Jacob Brown, Software Team Lead
If your engineers build notifications from scratch, we invite you to check out NotificationAPI.