Hi everyone,
I've been doing some virtual contests recently, but it always annoyed me that i can't easily see what my rating change would have been or track my performance over time. So, I made a browser extension to do it. It basically adds a Virtuals tab to the top navbar that looks and feels exactly like the rest of Codeforces.
What it does:
- It takes your virtual and unrated submissions and calculates your simulated live rank (that is the rank you would have obtained if you had actually participated in the contest and performed almost the same).
- It calculates your performance rating and projected delta. I made sure to use the actual CF rating formulas for this—it implements the Bradley-Terry/Elo model, binary search for seeds, and the global deflation adjustments, so the math should be very accurate.
- It generates a rating graph for your virtual contests.
- It compares your recent form (last 5 contests) against your historical baseline to see if you're actually improving.
Here is what it looks like:



Everything runs locally in your browser using the public CF API, so it loads instantly and doesn't rely on any third-party servers. It also caches everything so you don't get rate-limited.
How to get it: It's not on the Chrome Web Store yet, but you can install it manually from my GitHub:
For chrome/brave users:-
clone the repo: codeforces vcon
then inside the codeforces-vcon folder run the commandnpm run vcon
Open chrome://extensions/ and turn on Developer mode.
Click "Load unpacked" and select the dist/chrome folder.
For Firefox users:-
clone the repo: codeforces vcon
then inside the codeforces-vcon folder run the commandnpm run vcon:f
Open Firefox and navigate to about:debugging#/runtime/this-firefox.
Click the Load Temporary Add-on... button and select the dist/firefox/maifest.json file
for the detailed info related to how calculations are being done refer to Calculations
Let me know what you guys think, or if you run into any bugs. Source code is on the GitHub repo if anyone wants to check out how the rating calculations are implemented.



