Joystream / Joystream/joystream-org

Dashboard Page

Open
#650 16 comments 1 reaction 2 assignees Claimed by @DzhideX View on GitHub
Dominant language
JavaScript
Stars
8
Forks
37
PR merge metrics
No merged PRs in 30d

Description

# Background

Joystream is a large and dynamic project, it is hard to obtain an integrated view of what is going on, and how it is evolving. A key determinant for anyone to get involved with the project, wether as a worker, creators, ambassador, validator, third party service provider or partner, is to quickly determine how well it's doing and where it is going.

To make the problem more concrete, we provide a brief personae story. Ulrich is business developer at a blockchain bridge service provider FooBridge. They are in the business of partnering with blockchains to allow their assets to move in and out of other blockchains. Projects are interested in this to reach new potential users on other blockchains, an also make their token interoperate with the tools and infrastructure on other chains. For such bridges, each new integration is a very risky activity, as they might get hacked, or have down time, and in general have to keep up with all the changes happening on integrated chains. For this reason, bridge service providers are very careful to try to only select projects that have a solid community, development, adoption and future prospects. Ulrich is tasked with making such evaluations of new prospective partner projects. When Ulrich does his job, it goes something like this.

1. First he will visit the website, and look at the general feel of it, what it claims to do, wether it seems put together, etc. He may also look for some basic facts, like
- who backed this project?
- what rounds of investment were made, at what prices and terms
- history of the project
- who the team is
- whether it has been audited
2. Then he will look at the major social media channels, like Twitter, YouTube, Blogs, CMC (watchlist) etc. What he is looking for is sign of life, engagement, audience size and also quality of communication. These could be summarised in the following metrics
- size of audience
- % change in audience last month
- days since last post
3. He may jump into a few messaging channels as well, like Discord, Telegram, Slack and try to see what is going on, what people are talking about, how engaged people are and size of audience. These could be summarised in the following metrics
- size of channel
- % change since last month
- DAUs/MAUs
- Messages/day
4. Next he may go to Github and see what sort of activity is happening there, number of commits, number of contributors, releases, etc.
5. Then he will try to look at some description of the token itself, and in particular learn quite a lot of facts and metrics, such as
- is it listed, if so where? and whether they are CEXs or DEXs, and some basic metrics for each venue, as one can see on CMC, including what % of supply is known to be in each venue.
- what has price and price history recently?
- highs and lows for past day, week, month, all time
- perhaps a price chart
- what is volume and volume history recently?
- highs and lows for past day, week, month, all time
- perhaps a price chart
- what is supply, circulating supply, and is there a max limit?
- what was the allocation of tokens at launch, and how are these allocation getting unlocked over time?
- https://handbook.joystream.org/usdjoy#genesis-block
- https://handbook.joystream.org/usdjoy#release-schedule
- market cap and FDV
- what is the implied annual inflation rate based on minting the past: month, 6 months, year.
- a breakdown of minting across the following categories over one among the following time periods: all time,
- workers rewards
- spending proposals
- creator payouts
- validator rewards
- % of supply in account
- % of supply staked for validation
- %APR on staking
- %ROI data: state what the return on investment would have been w.r.t. various time scals
- 1H
- 24H
- 1 day
- 1 week
- 1 month
- 1 year
- Supply Distribution: number of tokens in
- in top 100 addresses
- in top 1% of addresses
- in addresses > $10M,
- in addresses > $100K
- in addresses > $10K
- in addresses > $1K
- in addresses > $100
- in addresses > 1M , ..... $JOY
6. Traction:
- number of creators and how that has evolved over time
- number of videos and how that as evolved over time
- number of comments & reactions and how it has evolved
- number & value of of video NFT purchases and how that has evolved over time
- amount of value paid to creators and how that has evolved over time.
- daily active accounts
- Featuring a list of top creators on the platform in terms of their reach on other platforms, like youtube, twitter, etc.
- chain metrics:
- number of transactions
- number of holders
- number of blocks
7. Project comparison: similar to that in the lightpaper, but where we combined with a comparison of FDV of each project as well.
8. Team: Here we have to convey the idea that Joystream fundamentally is directed by the Joystream DAO and governance structure, as such it is the current sitting actors in that governance structure that should be featured. each role may may deserve a word or two
- council
- feature each membership, and for each include
- socials
- how many times they have served
- total amount they have earn
- current budget
- current council plan
- a link to the past
- plan & reward?
- working group leads: similar story as for council , but also include things like number of workers hired, budget, working group plan.
- mention Jsgensis somehow also, perhaps linking to the linkedin page or something, describing its role and the including all people in the team as member personaes on-chain.
9. Roadmap: some sort of minified view of the roadmap
10. Help: At the end of the day, speaking to someone may still be needed, so Ulrich may have ot jump into a chat to ask about something he missed, or he does not understand.
11. Content:
- Feature some video which will serve as an explainer of some kind
- carousel of recent blog posts
- carousel of recent twitter posts.

The main difficulty for Ulrich is that doing this work is very labour intensive, and it requires consulting a wide range of data sources. For Joystream it would include

- landing page: https://www.joystream.org
- token page: https://joystream.org/token
- about: https://www.joystream.org/about/
- lightpaper: www.joystream.org/lightpaper.odf
- handbook: https://handbook.joystream.org/ and its many subpages
- CMC page: https://coinmarketcap.com/currencies/joystream/
- Blog: https://blog.joystream.org
- Dapplooker: https://dapplooker.com/dashboard/joystream-mainnet-dashboard-328
- Pioneer: https://pioneerapp.xyz/
- Coingecko: https://www.coingecko.com/en/coins/joystream
- Twitter: https://twitter.com/JoystreamDAO
- Discord: https://discord.com/invite/NaNzysB5YZ
- Youtube: https://www.youtube.com/@joystream8627
- Telegram: https://t.me/JoyStreamOfficial
- MEXC page: https://www.mexc.com/exchange/JOYSTREAM_USDT
- Github: github.com/joystream/

after all of this, Ulrich likely still has a question or two - something he did not pickup or understand, which requires him to enter a chat and actually speak to someone. So in other words, this is _brutal_ work to do at any kind of scale.

# Proposal

Introduce a single page experience on the website, which we call something like `Dashboard`. Here are some important requirements

- Virtually all data points will need a tooltip to explain meaning and data source.
- When showing historical data, only show in $JOY, not $USD, as it becomes complex task to collect historical $JOY prices <= let me know if this becomes a bad idea based on usability.
- Make most sections or even data points into linkable page objects.
- A lot of this will need both loading states, but also error states, because some value just could not be computed due to some API failure.
- It would be good if we could facilitate some very low friction chat interaction on the page itself, to allow Ulrich to ask a question, without having to sign up or do something, and he has to get he sense that here is someone there ready to answer any question. How can we do this?

# Inspo

- Tokenterminal: ttps://tokenterminal.com/terminal/projects/uniswap
- Messari: https://messari.io/asset/livepeer/
- In some of the cases above, it can be useful to do visualisations which superimpose related data into one chart, so relationships can be visible, like this: https://twitter.com/tokenterminal/status/1684519312629854208/photo/1

# APIs

Powering all of this will require quite extensive new APIs, which pulls data both from lots of new sources, and pehraps also requires new mapping entirely. We should try to ship a v1 which omits data sources which are very hard to obtain in the near term, and then extend later. What will have

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.