Notification System
A centralized notification system with in-app and email delivery, and per-user preferences so recipients control what they get and which channel it arrives on.
The problem
Notifications were handled individually across features, with no central place to manage delivery. In-app was the only channel a user could receive, and they had no say in what reached them or how. The client kept that list fresh by polling the full notification table every two minutes, which added steady server load and timeouts for users with a large backlog.
What was built
One notification system used across the entire app, publishing notifications via the message engine.
What I'd do differently
I would normalize the preferences schema so additional channels drop in cleanly. Today adding a channel means adding a column - it works, but it does not scale.