Kristofer Lund

Praise Uses AI to Take Community Insights to the Next Level

Generating Contributor Bios and Daily Newsletters Using GPT-4: A New Use Case for Praise Data.

TL;DR

  • Praise allows community members to acknowledge each other’s contributions.
  • Praising generates a contribution graph containing who did what, when, and to what impact.
  • This dataset is perfectly suited for use with LLMs to generate deep insights!
  • Praise is using AI to generate dynamic user bios and daily newsletters.
  • Try praising in your own community, get on the waitlist
  • Experiment with prompts and live Praise data on ObservableHQ

Community praise is more than just kind words—it’s a catalyst that fosters a positive, rewarding atmosphere. When members feel recognized and appreciated, it enhances cooperation, making the fabric of the community stronger. It’s a vital ingredient in the recipe for a thriving, resilient collective.

More than just fostering cooperation, praise amplifies the collective intelligence of communities. Collective intelligence can be defined as the shared knowledge of a group, as well as the ability to work together and solve complex problems based on that knowledge. It’s the collaborative brainpower that propels communities forward.

Praise makes invisible work visible, allowing any kind of contribution to be acknowledged. Over time, all these contributions form a contribution graph containing information about who did what, when, and how it impacted the community. This dataset is perfectly suited for use with LLMs to generate deep insights!

In this article, we are going to take a closer look at how Praise is using AI to take community intelligence to the next level. We will be discussing the creation of contributor bios as well as short “newsletters” generated daily. We have just begun this work and are excited to share our progress with you!

The Praise Contribution Graph

Before we look closer at the AI enhanced analytics, let’s first understand the data set generated by Praise.

Community members interact with the Praise Bot to give praise. The bot is currently available on Discord but will soon be available on other platforms as well.

/praise [who] for [what]

The first two components of the praise data object, the “who” and the “what,” are relatively straightforward. The “who” represents the contributor, while the “what” details the contribution itself.

The praise giver chooses the level of detail of the “what”. A good praise not only acknowledges the contribution but also provides some context. Ideally it also describes the impact of the contribution from the perspective of the praise giver.

/praise [who] for [what - context - impact]

The third component of each praise data object is the “impact score” The impact score is a measure of how much the contribution helped the community. It takes the subjective description of a contribution and turns it into an objective measurement - a number. The impact score is determined by a group of volunteers from the community in a process that minimizes personal bias and the risk of gaming. We will describe the quantification process in more detail in a future article.

A complete Praise data object:

Praise {
  createdAt: "2021-10-01"          // when
  giver: "jane"
  receiver: "vitalik"              // who
  reason: "for inventing Ethereum" // what
  score: 100                       // impact
}

The final Praise data object contains both the subjective human language description of a contribution and the objective impact score. This makes it perfectly suited for use with LLMs to generate deep insights!

Using AI to Create Dynamic User Bios

One challenge in decentralised communities is that it can be hard to get an overview of who is doing what. Wouldn’t it be great if you could just look up a community member and get a quick summary of their work, of their contributions?

This is the first AI enhanced feature we wanted to implement. Praise uses OpenAI and GPT-4 to generate bios and make these bios available both as a bot command and integrated with the Praise Dashboard.

Step 1 – Data Selection

GPT-4 has a limited context window which means we cannot ask it to generate a bio based on all praise items a user have received. We need to limit our scope and filter out a subset of the data that is relevant for the bio generation. But, that is all good, we don’t want to look to closely at Praise items that are old anyway.

We start by filtering out all but the latest six months of Praise data. This is a good starting point, but we can do better. We also want only the most impactful contributions to be included in the bio. Luckily, we can use the impact score to achieve that.

We turn the resulting data set into a CSV file to make it as compact as possible.

createdAt, score, reason
2022-01-01, 89, for the Great 18 minute talk at ETH Denver …
2022-02-03, 82, for supporting to accomodate people going to Amsterda… 
2022-02-07, 59, for development on the praise dashboard and TEC …
2022-03-01, 56, for putting up the stewards WG funding proposal, makin…
2022-05-10, 50, for keeping the stewards on track and organized sprint…

Step 2 – Prompt Creation

The next step is to create a prompt that will be used to generate the bio. The prompt should be as short as possible, but still contain all the information needed to give us a good result. The challenge is to get the AI to generate text in the format and tone we want.

Contributor Bio Prompt

This prompt starts out by explaining the dataset and the task at hand. It then gives some guidelines on how to approach the task. Finally, it provides some examples of how to structure the bio as well as some tips on how to make it more engaging.

Step 3 – Bio Generation

Once we have a good dataset and prompt, generating bios using the OpenAI API is straightforward.

Contributor Bio

GPT-4 does a superb job of creating a bio that’s both accurate and compelling, succinctly encapsulating Griff’s contributions to TEC. As with any tool, perfection isn’t always achieved, but the results remain consistently informative and usable.

A notable advantage of these AI-crafted bios is their objectivity, highlighting actual contributions without bias or unwarranted self-promotion.

Before finishing this article, we want to highlight one more use case for the Praise data.

Generating Daily Newsletters Based on Actual Contributions

To a large extent, the Praise stream already functions as an activity stream, serving as a news feed for the community. If you want to know what’s up, simply head over to the community Praise Dashboard and scroll through some of the latest Praise items.

However, we want to make this information even more accessible and easier to consume. We created the /whatsup command for the Praise bot. This command generates an always up-to-date daily “newsletter” based on the latest contributions made by community members.

The /whatsup command uses the same approach as for the bios, but instead of generating a bio for a single user, we examine the contributions made by all users over the past seven days.

Next Steps

You have seen how the knowledge encapsulated in the Praise contribution graph easily can be turned into great community insights!

If you want to get started praising in your community, sign up for the waitlist at givepraise.xyz. We are onboarding new communities every week!

Also be sure to checkout our Observable notebooks where you can try the above prompts out for yourself on live praise data: