# Livepeer miniapp
## Overview
The Livepeer Collab.Land mini app is an experimental project that explores the role of video streaming for a web3 community, where the primary community experience lives around a token gated Discord server using Collab.Land.
## Goal
- Develop a working prototype of a token gated video tool that could be scaled for broader adoption in the Collab.Land mini app ecosystem.
- Learn through building and using this tool ourselves, to understand all the ways on-demand video (pre-recorded video) can be used by web3 communities.
- Create the first application of its kind with real utility, to inspire more video applications in the web3 community tooling ecosystem.
## Design Assumptions
- The application should fit within the context of a Collab.Land mini app.
- Ideally, what are the key features of a mini app / mini app ecosystem ?
- User experience should be within Discord as much as possible
- The tool will be designed around the existing Collab.Land Discord bot.
- If there are off-Discord experiences, the auth experience should be consistent with the Discord.
- Does Discord allow for video upload and playback within the app?
- User experience should be simple and minimal - aim to have as few commands as possible, as few configuration options as possible.
- It should be simple to onboard community admins and members to the tool.
## Considered Use Cases
- Sharing user onboarding videos
- Sharing videos to specific roles for Discord server / community coordination (meeting recordings, etc)
- Creator monetization through content (exclusive video content for groups or individuals)
- Please share your ideas!
## Personas
Persona #1: a community (Discord) admin
Persona #2: a community member (or an user) with or without specific roles
## User Stories
- As an admin, I want to upload a video to the Discord server and restrict access to users with a specific role, so that I can share a video with ONLY members with that role.
- As an admin, I want to set specific roles or users who can upload videos to the Discord (to which roles), so that I can control who can upload content and who can watch the content uploaded by them.
- As a user with a role in Discord, I want to be able to access the video that has been gated by my role at any time, so I can stay informed about the information that I should know about.
- As an admin (or a user), I want to get a list of all the videos that I have access to.
- As an admin (or a user), I want to get a list of all the videos that I have uploaded.
- As an admin (or a user), I want to delete any video that I have uploaded.
- As a user, I want to be notified whenever a new video becomes accessible to me.
- As an admin (or a user) who has uploaded content, I want to know how people have engaged with the content through viewership metrics.
- As an admin, I have access to ALL the videos by default.
## User Flow
1. Admin installs the Livepeer mini app
2. Admin picks who gets to upload video
3. Admin uses `/livepeer upload` command, and gets a temporary link (expires in 5 mins) to upload a video, create a title, and pick which role can watch the video.
4. User gets notified when a new video gets uploaded for a role they have, with the video title and a temporary link that expires in 5 mins.
5. User uses `/livepeer watch` command, and gets a temporary link (expires in 5 mins) that lists out all the videos they are allowed to see.
6. Each video in the above temporary link is also temporarily available for the user, to prevent someone from widely sharing the video playback URL.
_We consider using temporary links instead of wallet connect on the landing page, because users are generally afraid of connecting their wallets coming from Discord_
## Non-functional Requirements
- The application should be open source with good documentation, so it’s easy to fork and modify.
- The application building process should be public by default, with regular share-outs and community feedback sessions.
## Assumptions and Risks
- We assume admins and users are well equipped to record (or create) videos.
- We assume users of the mini app are willing to take the risk around screen recording and leaked video content.
- We assume admins will be responsible for removing illegal content.
## Timeline
- 5/17 lock spec
- 6/2 alpha / DAO proposal submission
- 6/9 QA
- 6/16 prod
## Acceptance Criteria and Testing
- The mini app must prove useful for the Collab.Land users to be considered a success.
- TODO: Collab.Land team to share internal use cases.
- Identify an existing community with strong demand for video who could represent a more scaled user group for the mini app.
## Team
- Suhail from Livepeer: project owner & implementer
- Eric from Livepeer: product manager
- Shannon from Livepeer: BD stakeholder
- Kenny from Collab.Land: technical contributor
- Raymond from Collan.Land: technical contributor
## Conclusion
This product experiment is the first of its kind. We will use the learnings to help explore the following theses:
- Web3 community internal/external communication, leveraging video as a tool
- Web3 community brand building, leveraging video as a tool
- Web3 community growth strategy, leveraging video as a tool
- Web3 community sustainability and monetization, leveraging video as a tool
If this experiment proves to be successful, we will continue by exploring live streaming.