Hello Codeforces,↵
↵
I wanted to share with you a web application I recently developed. The application filters out unsuccessful contests you have participated in on Codeforces and predicts your rating today based on the performance of the contests you have participated in. The primary purpose of this web application is to help users discover their true potential, serving as a source of inspiration and motivation to empower them to persevere in their endeavors. Initially, my idea was to greedily select contests that have a positive delta based on the current rating, using the rating formula mentioned in this [blog post](https://mirror.codeforces.com/blog/entry/20762). However, due to slow API calls, I was almost ready to give up on the project. Nevertheless, I decided to proceed for the sake of completeness.↵
↵
To my surprise, when I completed the application, I found the results to be quite interesting. Additionally, I added a mode that computes the rating using a simple O(1) formula: $ delta = (performance - rating) / 4 $. I found that not only did this computation take less time, but the results were also convincing.↵
↵
I thought it would be valuable to share this application with you, as it may provide insights and assistance to Codeforces users in predicting their ratings based on their contest performances.↵
↵
Without further ado, let me introduce you to ↵
↵
<h3><a href="https://what-if-i-never-brick.netlify.app/">What If I Never Brick</a></h3>↵
↵
<div align="center">↵
<img src="https://raw.githubusercontent.com/wyhong3103/what-if-i-never-brick/main/src/assets/neverbrick.png?token=GHSAT0AAAAAABPFPARAKL3HZLANEY6NWC7AZEQNHHA" width="300px">↵
</div>↵
↵
↵
To use the application:↵
<ol margin="10px">↵
<li>Enter the [website](https://what-if-i-never-brick.netlify.app/).</li>↵
<li>Enter your Codeforces handle.</li>↵
<li>↵
Select a calculation mode: either "Fast" or "Slow".↵
<ul>↵
<li> The fast mode is incredibly fast because it fetches only the necessary data, which includes your rating changes in every contest, in a single API call. </li>↵
<li>The slow mode takes more time as it needs to fetch all the contest data you have participated in, and each API call takes 2 seconds</li>↵
</ul> ↵
</li>↵
<li>Click on the "GO" button and wait for the result.</li>↵
</ol>↵
↵
<br>↵
<div align="center">↵
<img src="https://i.imgur.com/82VNoTN.png">↵
</div>↵
↵
Thank you for your time. ↵
↵
If you have any further questions or suggestions about this application, please feel free to leave a comment or reach out to me via Codeforces.↵
<p>↵
Also, feel free to contribute, [this](https://github.com/wyhong3103/what-if-i-never-brick/) is the link to the GitHub Repository.↵
</p>↵
<br>↵
↵
<spoiler summary="Updates">↵
**UPD**: Rating restrictions have been added for each division. You will be eligible for Div 2 if and only if your rating is less than 2100 (The same applies to Div 2 which is rated for participants < 1900). Similarly, Div 3 is only rated for those with a rating below 1600, and Div 4 is only rated for participants with a rating below 1400.↵
↵
**UPD**: Rating restrictions have been removed because the original algorithm is not always optimal when rating restrictions are introduced. Currently, predictions are solely based on the performance of all the contests the user has participated in. I will work on improving this aspect when I have time, but for now, I will leave it as it is. Apologies for any inconvenience caused.↵
↵
**UPD**: A progress bar has been added to the slow mode, and the buttons are now disabled upon the start of computation.↵
↵
**UPD**: Information such as the contest name and rating gain from every contest has been added to the tooltip, i.e., the box that appears when you hover over a point on the graph. Also, rating overflow in the graph has been fixed.↵
</spoiler>↵
↵
↵
I wanted to share with you a web application I recently developed. The application filters out unsuccessful contests you have participated in on Codeforces and predicts your rating today based on the performance of the contests you have participated in. The primary purpose of this web application is to help users discover their true potential, serving as a source of inspiration and motivation to empower them to persevere in their endeavors. Initially, my idea was to greedily select contests that have a positive delta based on the current rating, using the rating formula mentioned in this [blog post](https://mirror.codeforces.com/blog/entry/20762). However, due to slow API calls, I was almost ready to give up on the project. Nevertheless, I decided to proceed for the sake of completeness.↵
↵
To my surprise, when I completed the application, I found the results to be quite interesting. Additionally, I added a mode that computes the rating using a simple O(1) formula: $ delta = (performance - rating) / 4 $. I found that not only did this computation take less time, but the results were also convincing.↵
↵
I thought it would be valuable to share this application with you, as it may provide insights and assistance to Codeforces users in predicting their ratings based on their contest performances.↵
↵
Without further ado, let me introduce you to ↵
↵
<h3><a href="https://what-if-i-never-brick.netlify.app/">What If I Never Brick</a></h3>↵
↵
<div align="center">↵
<img src="https://raw.githubusercontent.com/wyhong3103/what-if-i-never-brick/main/src/assets/neverbrick.png?token=GHSAT0AAAAAABPFPARAKL3HZLANEY6NWC7AZEQNHHA" width="300px">↵
</div>↵
↵
↵
To use the application:↵
<ol margin="10px">↵
<li>Enter the [website](https://what-if-i-never-brick.netlify.app/).</li>↵
<li>Enter your Codeforces handle.</li>↵
<li>↵
Select a calculation mode: either "Fast" or "Slow".↵
<ul>↵
<li> The fast mode is incredibly fast because it fetches only the necessary data, which includes your rating changes in every contest, in a single API call. </li>↵
<li>The slow mode takes more time as it needs to fetch all the contest data you have participated in, and each API call takes 2 seconds</li>↵
</ul> ↵
</li>↵
<li>Click on the "GO" button and wait for the result.</li>↵
</ol>↵
↵
<br>↵
<div align="center">↵
<img src="https://i.imgur.com/82VNoTN.png">↵
</div>↵
↵
Thank you for your time. ↵
↵
If you have any further questions or suggestions about this application, please feel free to leave a comment or reach out to me via Codeforces.↵
<p>↵
Also, feel free to contribute, [this](https://github.com/wyhong3103/what-if-i-never-brick/) is the link to the GitHub Repository.↵
</p>↵
<br>↵
↵
<spoiler summary="Updates">↵
**UPD**: Rating restrictions have been added for each division. You will be eligible for Div 2 if and only if your rating is less than 2100 (The same applies to Div 2 which is rated for participants < 1900). Similarly, Div 3 is only rated for those with a rating below 1600, and Div 4 is only rated for participants with a rating below 1400.↵
↵
**UPD**: Rating restrictions have been removed because the original algorithm is not always optimal when rating restrictions are introduced. Currently, predictions are solely based on the performance of all the contests the user has participated in. I will work on improving this aspect when I have time, but for now, I will leave it as it is. Apologies for any inconvenience caused.↵
↵
**UPD**: A progress bar has been added to the slow mode, and the buttons are now disabled upon the start of computation.↵
↵
**UPD**: Information such as the contest name and rating gain from every contest has been added to the tooltip, i.e., the box that appears when you hover over a point on the graph. Also, rating overflow in the graph has been fixed.↵
</spoiler>↵
↵