Hello, Codeforces community!
First of all, I would like to thank MikeMirzayanov for such an awesome platform. It's been almost a year since I joined and ever since I was always in the dilemma which question to solve. It's a commonly accepted fact that one should solve the most solved questions first. Many other recommender websites out there follow the same pattern — solved count for the win. However, after some days of following it, it kinda felt repetitive. Yes, the ones that everyone can solve would be the easier ones. But how do we determine if it can teach us something new? Codeforces has the problem rating system which gives a more accurate view of which question is easy and which is not. But as with the case of solved counts, rating can't be considered as the sole differentiator.
After having analyzed for some time, I found that there are three important factors that decide which problem is best suitable for practice — problem rating, problem tags, and solved count. The solved count is a good measure for determining which problems you are more likely to be able to solve. Problem rating can help us classify problems as easy, medium, or hard for us according to our rating. Thirdly, I would like to explain the importance of problem tags. It can be seen that some tags are more frequent in certain rating ranges. For example, if you check problems of rating 1300-1500, you are more likely to see implementation, brute-force, or greedy problems. So, someone who is in range just below this range can expect questions with these tags to be there in live contests let's say as a Div2 A/B. So, solving these problems will definitely help in ranking up.
Combining all these, I built UpSolve.me as a platform to give personalized suggestions for practice. The rating taken into consideration is the max rating of the user as I believe we must always look beyond what we have already achieved. Everyone has bad days and ratings fall. But it ain't bad targeting a high +ve.
May the codeFORCEs be with you!
Note: I am still working on the project. Team practice and tag-based practice mode will be arriving soon. Feel free to look around and give your opinions. Your involvement will only help me boost the platform. Any constructive criticism or feature requests are dearly welcome.
UPD: I didn't expect so many people flooding in at once. Heroku seems to not be able to handle these many requests at one go. I'll fix it asap. Stay tuned. Thanks!
UPD2: Moved from Heroku to Google Compute Engine. Feel free to explore it now!
UPD3: Things seemed to be corrected on GCE but again a problem popped up that https requests were not passing through. I have reverted it back to Heroku and have enabled it to restart instantly on crash so that you don't experience downtime. However, it's a temporary fix. If anyone can help me out setting it up on the GCE, please do reach out to me.