// the find
excid3/noticed
Notifications for Ruby on Rails applications
Noticed is a Rails gem for sending notifications across multiple channels — email, ActionCable, push notifications, Slack, SMS — from a single notifier class. It stores notifications in the database and ships delivery jobs via ActiveJob. Solid fit for any Rails app that needs more than one notification surface.
The individual vs. bulk delivery distinction is well thought out and maps cleanly to real product requirements. The `if`/`unless`/`wait` options on delivery methods let you implement fallback patterns (send push, email only if unread after 15 minutes) without any custom job glue. Tested against SQLite, MySQL, and PostgreSQL, and across Rails 7.0 through 8.1 via Appraisals — that's real maintenance commitment. The extensibility model using `ActiveSupport::Concern` and `to_prepare` lets you add columns and associations to the Noticed models without forking.
Renaming a notifier class requires a manual backfill migration on two tables; there's no built-in rename support and it's easy to forget until production data breaks deserialization. The read/unread tracking is a single `read_at` timestamp with no concept of 'seen but not acted on' at the gem level — you have to build that yourself. FCM integration requires the google-cloud-messaging gem and credential wiring that has historically been painful to set up correctly, and the docs don't warn you about the FCM HTTP v1 migration complexity. No built-in rate limiting or batching for bulk deliveries — if you deliver to 10,000 Slack recipients at once, you're on your own for respecting API limits.