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

mayankjoshi profile image mayank joshi 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 rest API authentication method do you prefer?

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?


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"
    when "mix_base_more_random_experiment"
    when "more_tag_weight_experiment"
    when "more_tag_weight_more_random_experiment"
    when "more_comments_experiment"
    when "more_experience_level_weight_experiment"
    when "more_tag_weight_randomized_at_end_experiment"
    when "more_experience_level_weight_randomized_at_end_experiment"
    when "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.default_home_feed(user_signed_in: true)

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


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.



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 :)