Skip to content
loading...

How does dev.to choose which post should be on the top?

twitter logo github logo Updated on ・1 min read  

Little curious (8 Part Series)

1) How does dev.to choose which post should be on the top? 2) Is PHP Dying? 3 ... 6 3) Have you ever used COBOL? 4) What is a project, you are really proud of? 5) If you were a recruiter, what would be your recruiting criteria? 6) What are the weird things people ask you, when they comes to know you are a developer? 7) What is your favourite operating system? 8) What is the best Node.js template engine?

How do Dev choose which post should be visible to it's user, except the preference based on following?

Also does Dev use machine learning?

twitter logo DISCUSS (4)
markdown guide
 

Currently we are split testing a bunch of different scenarios...

  def ab_test_user_signed_in_feed(feed)
    test_variant = field_test(:user_home_feed, participant: current_user)
    Honeycomb.add_field("field_test_user_home_feed", test_variant) # Monitoring different variants
    case test_variant
    when "base"
      feed.default_home_feed(user_signed_in: true)
    when "more_random_experiment"
      feed.default_home_feed_with_more_randomness_experiment
    when "mix_base_more_random_experiment"
      feed.mix_default_and_more_random_experiment
    when "more_tag_weight_experiment"
      feed.more_tag_weight_experiment
    when "more_tag_weight_more_random_experiment"
      feed.more_tag_weight_more_random_experiment
    when "more_comments_experiment"
      feed.more_comments_experiment
    when "more_experience_level_weight_experiment"
      feed.more_experience_level_weight_experiment
    when "more_tag_weight_randomized_at_end_experiment"
      feed.more_tag_weight_randomized_at_end_experiment
    when "more_experience_level_weight_randomized_at_end_experiment"
      feed.more_experience_level_weight_randomized_at_end_experiment
    when "more_comments_randomized_at_end_experiment"
      feed.more_comments_randomized_at_end_experiment
    when "mix_of_everything_experiment" # mix of all experiments. New experiments also added. This is the "index fund" version.
      feed.mix_of_everything_experiment
    else
      feed.default_home_feed(user_signed_in: true)
    end
  end

Each of these maps to a different type of algorithm...

github.com/thepracticaldev/dev.to/...

We don't actively use ML but it could get introduced into a future algorithm.

If anyone wants to introduce it via a PR, they are free to do so. Of course, getting the right ML in place is a fairly system-wide commitment which is why we haven't gotten there yet.

But if anyone is curious, I'd check out these gems as utilities they could lean on.

ankane.org/new-ml-gems

 

I'll take an opportunity to thank for endless productivity and self help posts, self taught stories and "should I attend a bootcamp" thoughts in my feed, endless tutorials on how to use array.map and let vs const vs var articles and etc. Thank you again. But I don't need them. At least not in like 40%+ of the feed. I know, there maybe not so much content to fill that feed, but mb i'll see them when I scroll to bottom? I mean, it may look salty from me, but I am REALLY scrolling more than actually read, and here ARE a lot of posts interrsting for me, but i have to scroll for them a lot avoiding those described above.

 

Results may not yet be entirely visible, but we're putting in a lot of work to address this specific concern.

One thing that helps if you haven't yet done it: Adjust your "experience level" in /settings/ux as one indication to help get a more relevant feed. Plenty more work to go in this regard from our team.

 

Apparently - these posts are still useful to many people. Or maybe it's just what the authors think :)

Classic DEV Post from Aug 25 '19

Awesome CSS Animation Hamburger Menu

mayank joshi profile image
I love system design and most of the time I find myself learning or designing one of them.
Did you know you can change your "experience level" in your DEV settings, so you can see content more tailored to your skills?
Join DEV Now