Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Flexible Notifications into Your Apps

Building Flexible Notifications into Your Apps

These are the slides I shared with developers at the Open Source Festival 2023.

I shared about “Building Flexible Notifications into Your Apps”. 

The focus was on Notification Handler Infrastructure and Multi-channel Communication Infrastructure.

There was an emphasis on how Notification infrastructure serves as a single point of failure, easy logging and debugging, channel routing, templating, and much more.

We also got our hands dirty with a little demo built in Node JS & Express

Goodness Kayode

June 18, 2023

More Decks by Goodness Kayode

Other Decks in Programming


  1. What are notifications? Notifications answer the question of “How do

    I know what is happening in my application?” or “How do my users know what happened or is happening while using my app?” Notifications are most times triggered by actions but there are instances where the app developer wants to send messages not based on any action (Mostly seen with push notifications/emails)
  2. Why are notifications important to your project or open-source project?

    • Verifications: A use case of this is 2FA (Two-factor authentication) where you allow users to access your application only when they receive the OTP and input it. (Image here or short video) • Internal notifications/Alerts: You can notify yourself or your team on internal operation activities e.g Third party provider wallet balance is low or their service is down • User activity: Notifications help you keep users up to speed with the key actions of other users on your app. E.g sending notification on limit reached
  3. Cont’d • User Actions: You can notify your users before

    they carry out an action or when an action is required. • Suggestions: There are some actions that you want a user to take that will get more conversion when you suggest it to them. For example, Updating the app's latest version.
  4. What are the channels that can be used to either

    notify you or your users? • SMS • Whatsapp • Push Notifications • Emails • Slack
  5. What are flexible notifications & Why is it still a

    topic? • Have you tried to notify your users or send OTPs through different messaging channels like SMS, Email, Whatsapp, Push notifications, or voice and you could not get an easy tool that allows you to access the channels from one place? • Have you had to integrate each messaging channel one by one? • Have you had to integrate multiple providers for one channel?
  6. This answers the question of why flexible notifications are very

    important. You want to be able to allow your users to get notified through channels they can easily see the messages and take action. Your users have different preferences so you need a smart way to handle and manage notifications from one place. This leads us to the term Notification Management Infrastructure.
  7. 1. Multichannel Communication Infrastructure: You can have platforms that have

    all the channels you need. Here, once you integrate them they give you access to all channels they have without any complex setup E.g Sendchamp, Twilio. There are 2 categories of platforms that allow you to manage notifications from one place: *Every image used is a copyright of their respective companies
  8. 2. Notification Handler Infrastructure: These platforms aggregate different communication providers

    in one place. This means that you have the flexibility of choosing the platforms you want to use for each channel E.g Courier, Novu, Onesignal In the course of this topic, I will be focusing on Notification Handler Infrastructure and using Courier as a case study. *Every image used is a copyright of their respective companies
  9. • No multiple integrations: You get to write less code

    but access more notification channels. • One failure point & One source of truth: When there is a failure in sending notifications, you have a single place to track the errors instead of multiple dashboards. • Easy routing to different channels: Instead of building the logic of sending notifications through different channels, notification infrastructure can help handle that.
  10. • Notification API call Logs in one place: Logging is

    one of the key pros of notification infrastructure. Helps you log issues across providers, and channels in one place. • Easy debugging: because of the simple logging and one failure point that notification infrastructure offers, debugging becomes a breeze. • Templating: With notification infrastructures, you can limit the templates that you create in your application.