---
tags: RFP, spec
---
# Notifications Feature RFP Notes
[GitHub Link](https://github.com/HausDAO/daohaus-monorepo/issues/138)
## General Notes and Questions (to be organized)
Catch all for various questions -- added a header for grouped questions
### Scope
- Do we want to focus on this being *read only* (reading proposals and having notifications sent) or do we want to also support *write* (creating, supporting, voting, processing, executing proposals)
- This probably depends on our user stories and what we identify as the *core pain points* we want to address with this --
- There is likely still benefit to being able to read proposals / be notified of proposals through an app, but I also think there'd be an expectation of *interacting* with the proposals that are in a DAO feed
- Would our initial app build tackle *only notifications* or would we want to build an app that is a DAO hub/feed and notifications?
- What is the benefit of one over the other?
- For example, what's the benefit to users of having an app that provides notifications but *without* a DAO hub/feed? What is the benefit of a DAO hub/feed *without* notifications?
## Inspiration
- Mobile-first approach to DAO notifications and a proposal feed.
- A "DAOist On the Go" tool for DAOists who need to be able to interact with their DAOs while away from their laptop/desktop.
## Pain Points
- DAO participation (on DAOhaus, but on other platforms as well) is difficult when relying on a mobile device. Awareness of DAO activities such as voting on proposals -- even being aware of proposals -- tend to rely on being at a laptop/desktop with a dedicated browser.
## Initial User Stories
- As a DAO operator/participant, I want to view a list of the DAOs that I'm in.
- As a DAO operator/participant, I want to be able to click one of my DAOs to go to a dedicated 'hub' for that DAO.
- As a DAO operator/participant, I want to see a list of proposals at all stages in the proposal lifecycle.
- As a DAO operator/participant, I want to be able to receive **notifications** on my mobile device for key actions such as proposals entering the voting period.
- As a DAO operator/participant, I want to be able to select what I receive notifications for.
- As a DAO operator/participant, I wan to be able to do important DAO actions (such as sponsoring, voting, processing, and executing proposals) from my mobile device.
## Potential Ideas
- [Discord Integrations](https://discord.com/developers/docs/intro)
- Similar to the DAOhaus v2 Discord boost → notifications in specified Discord channels
- Can this be customized and configured by the user? Would this accomplish the same goals as our initial pain points and user stories? →
- User would see the feed in Discord and take action from there, but it's still separate from an actual app that would do this as its specific focus
- [Hal](https://www.hal.xyz/products/hal-notify)
- Seems similar to [Zapier](https://zapier.com/) but with a web3 focus
- [MetaMask Snaps](https://metamask.io/snaps/)
- [Push Protocol](https://push.org/)
## Design and Architecture Ideas
- Jotting down some basic ideas here -- we'll definitely want to refine our design goals based on the user stories
### Design
- Mobile-first design approach regardless of architecture choice
- UX focused on a few core features done well and with a clean, minimalist mobile UI with the main goal of *removing friction*
- Likely use neutral color and an often used, fairly netural UI typeface (such as Inter) -- leave room for gradual refinement and/or branding integration
### Architecture
The data fetching and wallet connection would (likely) be the same for each approach.
### Data Fetching
- [DAOhaus Moloch v3 Data Library](https://www.npmjs.com/package/@daohaus/moloch-v3-data)
- [React Query](https://tanstack.com/query/v3/) for data fetching from the Data Library and for handling lifecycles
- Hook pattern that wraps React Query that'll leverage the data calls from the library
### Wallet Connection and Interaction
- [RainbowKit](https://www.rainbowkit.com/) and [wagmi](https://wagmi.sh/)
https://web.dev/progressive-web-apps/
### Option 1: Progressive Web App (PWA)
- [Progressive Web App (PWA)](https://web.dev/progressive-web-apps/)
- [Next.js PWA](https://github.com/vercel/next.js/tree/canary/examples/progressive-web-app)
- [Vite PWA](https://github.com/vite-pwa/vite-plugin-pwa)
- Style options:
- [Chakra UI](https://chakra-ui.com/)
- [Tailwind](https://tailwindcss.com/)
### Option 2: React Native App
- Utilize [Expo](https://expo.dev/) for scaffolding
- [Expo Notifications](https://docs.expo.dev/versions/latest/sdk/notifications)
- Potentially leverage [Solito](https://solito.dev/) for a React Native + Next.js app (depending on scope and goals -- do we also want this to be a web app as well?)
- Style options:
- [NativeWind](https://nativewind.dev/)
- [NativeBase](https://nativebase.io/)