
Thanks to @podanrj for the image
https://utopian.rocks/
A couple of day's ago the 1st version of the new Utopian bot was released. Of course it's not 100% perfect yet, but it's already an improvement over the previous one and will get even better over time, in my opinion. With this I have also made some other small changes to Utopian.rocks and the code that handles the spreadsheet.
Utopian.rocks
https://github.com/amosbastian/utopian.rocks
Updating the queue

Thanks to @oups for the image 😍
The behaviour of the voting bot has changed, and so has https://utopian.rocks/queue. It now shows the exact order of the next voting round, and the remaining contributions not included sorted by score.
As you can see in the image above the #1 contribution of each category is inserted at the front of the voting round, while also being sorted by score. The remaining contributions in the voting round are the remaining eligible contributions sorted by score. It's clear that the scores across categories aren't really consistent across categories, as for example translations generally have a higher average score compared to development contributions. This means that those contributions are voted on earlier in the voting round when @utopian-io's voting power is higher, whereas contributions in other categories are generally voted on when the voting power is nearing 80%. There are some ideas floating around that could be a solution for this, so if you have any thoughts then please let me know!
Note: this order will probably change in the future once I figure out a solution to a problem I've been having a very hard time explaining to others. Because of that I won't bother trying to explain it here.
The above was pretty easy to implement as I could just use the bot's code to find out which contributions will be in the next voting round. One of the only things I had to change was the removal of contributions that will be older than 6 days and 12 hours by the time the next voting round starts. In these last 12 hours the reward is scaled down linearly if I can recall correctly, so upvoting them is inefficient and thus not done. If you saw that your contribution had disappeared from the queue after a voting round, then this is why.
UPDATE (04/11/2018)

Since posting this contribution I have changed it so that all contributions are first sorted by creation date, and then by score. This results in a new voting round which can be seen above. It's obvious there is still a "problem" with the average score of translations being so high, which results in them being voted on very early into the voting round. A solution for this would to for on the #1 contribution per category like before, but then repeat this for the #2, the #3 etc. What do you guys think about this?
I also added the score at the request of @elear, so contributors can see for themselves how contributions are sorted. All scores have been rounded, so it may happen that your actual score is a 99.5, but it shows 99 instead. Clicking on the score will take you to the moderator's review comment as well.
Improved filtering

Improved filtering
Before this update you could only filter by one category at a time, and it wouldn't update the contribution counter in the top left. Now you are able to toggle categories, which allows you to filter by multiple categories, and actually updates the number of contributions. It's a small change, but I think it's a good quality of life one.
I'm not very good at JavaScript at the moment, so if you have any tips or things I could improve about it, please let me know!
Updating the countdown & voting power

Improved countdown & voting power
I was watching Wes Bos' JavaScript 30 a couple of weeks ago and he has a video where he creates a countdown similar to the one on Utopian.rocks. In this video he mentioned a better way to use setInterval
which means that the countdown is updated properly (I had sometimes noticed it would get out of sync after a while). Because of this I decided to adapt the code from this video and use it to improve the countdown. Since the voting power was static before, I also decided to improve this and use the same method to so that it also increases over time.
I also added the countdown to the document's title, so you can see the countdown without actually being on the page (not that useful, but still thought it was neat).
Fixing responsiveness

I noticed that because of "iamutopian" being added as a category, Utopian.rocks wasn't looking to great on my mobile phone. The number of category filtering buttons were causing the page to be too wide, so I added some small changes to the CSS to fix this. If you stopped visiting Utopian.rocks on your mobile because of this it is now hopefully fixed (just wanted to let people know).
Utopian-spreadsheet
https://github.com/amosbastian/utopian-spreadsheet
Marking "expired" contributions

Marking contributions that won't be upvoted
As I mentioned earlier, some contributions will be older than 6 days and 12 hours by the time the next voting round starts, which means they won't get voted on. This is already reflected on Utopian.rocks, but wasn't actually updated in the spreadsheet. Obviously this could by pretty confusing if you see a contribution's status is "Pending" in the sheet, but not showing on Utopian.rocks. Because of this I created a simple script that will run every 5 minutes and update the status of the contribution to "Expired" in the spreadsheet.
Removing deleted contributions
Sometimes a contribution is added to the spreadsheet before it is deleted. This was causing an exception when moving contributions to the "reviewed" worksheets. Simply adding a try except which deletes contributions from the spreadsheet when they have been deleted makes it so this doesn't have to be done manually anymore. It's not a big change, but I thought I'd mention it just incase people think they still have to do it manually.
I mentioned this in a previous update, but you also don't need to enter the review date anymore. Just your name and score!
I have an idea to improve the order of contributions in the voting round, so I'll probably work on that next. If you have any further questions, then please let me know. You can contact me on Discord at Amos#4622 if needed.