ydd

ydd

Shoutouts.dev - Write shoutouts for your favourite OSS projects

Hi all,

I wanted to share with the community my first public Elixir project: shoutouts.dev a website for OSS users to post public messages of gratitude for projects they use and love.

Using Phoenix with extensive use of LiveView, Tailwind CSS and a touch of Stimulus JS, the code is available at GitHub - yeraydiazdiaz/shoutouts.dev: Open Source is hard. Show your gratitude · GitHub. Any suggestions, comments, or ideas are welcome.

Hope you like it :slightly_smiling_face:

Most Liked

Exadra37

Exadra37

Congratulations on your project :slight_smile:

## What about trolling?

Any time you have users posting about other users there’s a risk of abuse. It’s not an easy problem to solve but shoutouts.dev has some strict rules and practices in place that I hope will prevent it, and it all starts with accountability.

  1. Only users whose provider (GitHub for now) account is older than 2 years are allowed to post shoutouts.
  2. Owners of projects can flag shoutouts. One flagged shoutout will prevent the user from posting more shoutouts to any of the owner’s other projects.
  3. If more than three owners flag shoutouts from the same user, they will be banned from ever posting more shoutouts.

These rules may vary over time depending on their success, but it is my hope that will make shoutouts.dev “good vibes only” site.

Rule 1 is kind of discriminatory and will not be effective. You just go through Github and you will see a lot of devs with more then 2 years posting inappropriate comments or that barely have participated in anything.

So, instead I would queue the shoutouts to be approved by the owner of the repo or by someone on that organization. Maybe they can also be approved by moderators in the shoutouts community.

Maybe you could also make only possible to shoutout if the Github users as more then x likes in comments he has posted in the past and doesn’t have any or more then x of :-1:.

ydd

ydd

Thanks for the feedback! :slightly_smiling_face:

I don’t agree it’s discriminatory or ineffective for two reasons.

Firstly, GitHub users that have recently created accounts have very little to lose if they engage in trolling, as they could simply create a new account and move on. On the other hand, a 2 year minimum longevity means the user is likely invested some time in their account and built up some reputation, raising the accountability factor.

Secondly, one of the aims of the project is to add as little maintenance as possible on the owner side. By requiring some accountability we reduce the possiblity of getting spammy shoutouts and having the owners weed them out themselves, exposing them to potentially harmful messages and adding to their workload which is the opposite of what we’re trying to do.

Moderation is a possibility but it relies on community, which we don’t have at the moment, and is more complex. That being said, there is some support for a voting system on shoutouts, but thought it best to see if the accountability option works.

Thanks again! :slightly_smiling_face:

Exadra37

Exadra37

I agree that new accounts should not be allowed, and thats why I proposed:

In my opinion the limit of 2 years is not good way to go, because if I was an active developer with less then 1 year or 2 in Github I would be feeling annoyed and discriminated with this two years requirement.

So, instead I will measure the number of repos, stars, followers/following, and comments posted and the relation between positive likes and negative likes received to establish a threshold from where devs would be allowed to shoutout no matter their age.

It makes sense :+1:

Where Next?

Popular in Discussions Top

mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
mmmrrr
Just saw that dhh announced https://hotwire.dev/ Is it just me or is this essentially live view? :smiley: Although I like the “iFrame-e...
New
pillaiindu
I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
New
tmbb
This is a post to discuss the new Phoenix LiveView functionality. From Chris’s talk, it appears that they generate all HTML on the serve...
342 18146 126
New
fireproofsocks
I’ve been working on an Elixir project that has required a lot of scripting. I usually reach for Elixir because I like it more (and in th...
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
jer
I’ve been using umbrellas for a while, and generally started off (on greenfield projects at least) by isolating subapps based on clearly ...
New
AstonJ
If so I (and hopefully others!) might have some tips for you :slight_smile: But first, please say which area you’re finding most challen...
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement