CodingWithJamal
CodingWithJamal•2mo ago

Notification System Design Advice

I'm developing a notification system for a prelaunch startup and would like some advice on how to implement this using Convex. After some research, I've noticed that most companies have a complex microservice architecture for this task. They implement many different types of notifications (SMS, Push, Email, etc.) using event-driven architecture. Popular technologies such as Apache Kafka and RabbitMQ are used for message events. I have attached a diagram of my system design draft v1 for direct messages using email notifications. My goal is to make a notification system that relies on outside services as little as possible and utilizes Convex to the fullest. I'm also thinking of expanding this system and supporting multiple different types of notifications as the needs of the product grow. If you have any advice that would be greatly appreciated.
No description
5 Replies
jamwt
jamwt•2mo ago
wanted to double check you've seen this? https://www.convex.dev/components/push-notifications
Expo Push Notifications
Send push notifications with Expo. Manage retries and batching.
CodingWithJamal
CodingWithJamalOP•2mo ago
No I didn't see this convex component thanks. I think this will be useful in the future but right now in the pre-mvp stage mobile is not an option yet. Im also looking into a way to implement the Browser Notifications API. I think convex would still be needed because there are many cases when a user might not get a notification and would need to be updated externally from the browser. Also this API is opt-in by default which is not a preferable UX.
FleetAdmiralJakob 🗕 🗗 🗙
Hi Jamal, Im trying to build something with the Web Notification API and Convex for quite a long time with no success. If you could share your progress and research would be awesome.
CodingWithJamal
CodingWithJamalOP•2mo ago
Im reading up on https://stack.convex.dev/event-driven-programming right now as well
Event Driven Programming: A Definitive Guide
We go over the basics of event driven programming: how it works, benefits, variants, and use cases.
CodingWithJamal
CodingWithJamalOP•2mo ago
This support case is broader than I would like, so im making a separate post to get to the heart of my question:#How to handle the elapse of time for debounce logic in Convex?

Did you find this page helpful?