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.

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.
for images you can refer to github readme README
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.








Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
peak
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
Auto comment: topic has been updated by ap2822334 (previous revision, new revision, compare).
This is great, works perfectly. So much easier than checking my rank manually after the contest is over, and it seems to match with the actual perf pretty well.
sexxy!!
their is one issue if you can fix it would be great, when a contestent rating is above div4 rating or div3 rating and still he is giving div3 or div4 virtual contest, then that rating graph should not change , it would be unrated virtual , as the same happens in real cf , so it would be great if you take this into account !!!!
Hey, Thanks for the feedback, i really liked your idea, and have implemented it, to get the changes on the project folder in you ide or terminal just execute the command npm run vcon.
Amazing extension!
really helpful extension, something i would personally like to have is the option in the side bar to see combined virtual and rated contests that i have given.
I can't find any accurate extension to see my performance in a given rated contest (carrot doesn't work now), this extension using the same calculations for both rated and virtual will really allow for a better picture of progress.
It is really helpful work though what you have done, thanks.
Hey, Thanks for the feedback, i will look into it...
I just tried it, and honestly, this tool is fantastic.
A couple of quick ideas to make it better:
It's from Codeforces Helper
Hey, Thanks for the Feedback
Just to confirm, do you mean that the rating graph should also display the hypothetical rating changes from virtual contests i.e., show where my rating would have gone if I had actually participated in those contests ? or you are asking for an option to sort by contest date only ??
Thanks! I actually meant both together:
Yes to showing the hypothetical rating changes on the graph as an optional curve/toggle
The sorting part was about where to plot that point—giving users a toggle to either insert it at the original 2022 contest date (historical benchmark) or the 2025 date when I actually participated (chronological training progress).