At hyperface we got requirement from product team to build a nudge engine, this will be a configuration driven engine and when a condition is met based on the configured communication pattern it is going to send the communication. Example : If user have done 5 transaction is flikart and an offer is going on to do 10 transactions to get a reward we will nudge user based on the communication channel and rules that nudge him on whatsapp this much time and send him the push notification.
When this product requirement came , product wanted to build each and everything as a single engine, but at that time I realized that having a separate notification service which will take care of all notification related stuff and we will be able to efficiently scale that system and prevent having a tight coupling will be very helpful , but when I proposed this product did not agreed as they thought right now there is no usecase for making nudge engine and notification engine a separate component.
At that time I dicsucces this with my fellow EM and came to know that they are scenarios where they need to send notification for example otps , push notification and everyone is handling this in a custom way in there own code based . With all this data I went back to product team ann pitched them that having this notification engine all this custom handling will be gone we will have better mechanism to control notification track metricies and and improve the experience by handling failure scenarios .
with this data I was able to convenience the product team to build to different systems.