---
# System prepended metadata

title: Notifications
tags: [One pager]

---

# Notifications

###### tags: `One pager`

![](https://c.tenor.com/T0483rEQhsAAAAAd/tom-hanks-youve-got-mail.gif)

## tl;dr

Need to get notifying people of updates so they're aware things are happening when they can take action.

## Situation

Most of the experience is currently instigated by the user. We can pull them back into the experience for impactful actions.

## Pain Points

It is hard to know what's happening if you're not logging in to Govrn regularly (almost all new users). This will help folks keep Govrn top of mind and accessible for any contributions that pop up.

## Proposed Solution

_What you’re proposed solution to the pain points is._

Let's start sending more notifications to users to help drive the contribution-attestation loop.

## Considerations

_Any considerations we should keep in mind while thinking through your one pager._

We need to be careful with Discord notifications (via DMs) being prtty noisy. Making it easy to manage these notifications and ensuring they're high value will provide users the best experience when contributing.

## Discord

Since we have a channel open with folks already it'd be great to start with Discord. We don't have to do much for additional integration and can start sending almost immediately. (An additional consideration is users that have been onboarded to v1)

I'm leery that discord notifications are quite noisy and disruptive, so we want to be very careful with notifications we choose to provide to users and ensure they can be easily turned off.

### First batch

- Contributions available to mint (from integration)
- You have been added to a DAO circle
- Reminder to submit contributions
    - General reminder periodically
    - Attribute to DAO (if applicable)

### Next batch

Revisit these for the next notifications feature with success from the previous batch

- Received attestations & value assignments
- Contributions available for attestation
- Weekly summary of DAO activity
- DAO Actions
    - Verification
    - Value assignment

### Explore in the future

- Deeper DAO actions
- Other channels
- In-app Notifications

## Email

Email is a great medium for summary notifications (and time dependent ones can have success too). Unless we want to utilize our own mail server we can use a service hopefully to send the notifications. 

We could likely adapt any of the major services in lieu of a decentralized option to access IMAP/SMTP.

- Mailgun 
- Sendgrid
- Sendinblue

One of the trickier pieces of email can be building templates. The email clients are stuck on very old versions of markup languages and generally resort to table based implementations. Trying to find a route to create these templates without dev resources would help accelerate this process (make template in Mailchimp and port over or create base template and leave flexible for most content types).


## SMS & EPNS

We can explore the demand from users for additional channels as we have more users asking for specific ones. We should be able to leverage similar notifications to Discord with slight modifications for the respective channel.

---

## Round I - Discord experiments

### Rough timeline

With appropriate planning these can likely be added in one cycle and tested/refined in a second. The biggest impact will be determining need for settings around notifications, the easiest of which will be on/off.

### Complexity/Impact

We'd like to chunk up the complexity and start with a smallest piece possible. Since we have the Discord integration already we can start there and queue up research around the other methods.

We'll experiment with the notification types and likely need to test different types in different methods when those are ready.

Notifications can have significant impact


### Feedback

We'll want to be istening intently for overnotification warnings. We'll make sure it's easy to turn off any (or all) of the notifications to keep annoyance at bay.

We can't get much for analytics from Discord notifications, but we can do emoji polling (which is a decent feature idea, actually) and more informal surveying.

It will be good to do a bit more formal research when preparing for Round II of this project.

### Notes from meetings

#### Flip <> Keating 10/28/22
##### User notifications
- Discord web app, superset of Kevin Malone
- 1. Database schema changes
	- NotificationSettings with user foreign key
		- Each notification is a users notications
		- Mapping table many to many relationship
	- Notification table
- 2. Libary to expose to be consumed by frontend
- 3. Expose frontend form to configure (Expose configuration command like report)
- 4. Expose discord interactions to configure
- Cofiguration is one aspect
	- Configuring a hook to check periodically, 
		- Potentially task to run every 10 minutes
		- After a certain amount time ping user
	- We could start in kevin malone, but probably not a long term, maybe have the notification service ping Kevin Malone. 
	- We could add another listener in the kevin malone webserver from the notification job.
- First step to start marching on, would be coming up with a schema, rolling that out and then building out the notification mechnism in Kevin Malone and testing that out.