Products May 30, 2026

Why We Built a Notification Center (and Why We Refuse to Spam You)

Too many notifications are just as bad as none. Here's the story behind CrescendPOS's notification center and our philosophy on when it's okay to interrupt users.

C
CrescendPOS Team

The Problem with Notifications

Notifications have a bad reputation — and not without reason. How many times have you turned off an app's notifications because too many were irrelevant? "Hey, you haven't opened the app in 3 days!" Who needs that reminder?

On the other hand, some information genuinely needs to reach you in real-time. A shift hasn't been closed and it's been 2 hours past schedule? That's important. A specific item's stock is down to 3? If you don't know now, you might run out tomorrow morning.

The challenge: how to communicate what matters without cluttering with what doesn't?

Our Principle: Notifications Must Be Actionable

Before building the notification feature, we set one rule: every notification must trigger a specific action. If the recipient reads it and their reaction is just "oh, okay" without doing anything — that notification shouldn't have been sent.

Examples of actionable notifications:

  • "Rina's shift has been open for 10 hours and hasn't been closed" → action: follow up with Rina or close the shift
  • "Iced Coffee Latte stock is down to 5 portions" → action: prep more or mark as unavailable
  • "A new cashier invitation hasn't been accepted for 3 days" → action: follow up or resend

Examples of notifications we DON'T send:

  • "Congratulations! You've sold 100 cups today!" — nice to know, but triggers no action
  • "Tip: did you know you can export CSV?" — that's a help article, not a notification
  • "You haven't logged in for 2 days" — we have no right to judge your login frequency

Three Channels, Three Urgency Levels

We don't send every notification through one channel. Different urgency levels need different delivery:

In-app bell (low urgency). Notifications you can read when you have time. Doesn't interrupt workflow, doesn't make noise. The bell icon in the corner changes when there's something new — that's it.

Email (medium urgency). For important information that doesn't need a response within minutes. Examples: shift summaries, weekly recaps, invitations that need accepting.

Web push (high urgency). Reserved for things that truly need immediate attention. This is the most intrusive channel — it appears on screen even when you're not in the app. That's why we're extremely selective about it.

Opt-in, Not Opt-out

Many apps default to sending all notifications and make users turn off what they don't want one by one. We chose the opposite: web push notifications are opt-in. You have to actively choose to receive them.

Why? Because consent matters. When someone consciously decides "yes, send me notifications" — they're more likely to actually read them. And that means our notifications are more effective.

What We Learned

Building a notification center taught us about respecting user attention. Every notification you send asks someone to stop what they're doing and read your message. That's a big ask — and it needs to be justified by the value of the information you're delivering.

We'd rather have users say "why isn't there a notification for this?" (and we can add one) than users saying "please stop bothering me" (and they turn off all notifications forever).

Under-notifying is better than over-notifying. Because once a user turns off your notifications, you've lost that communication channel permanently.