Hey everyone at Codeforces!!
Codeforces is a really well structured website, it is really easy to navigate to a problem and track your peers.
Atcoder on the other hand, though it does has some cool features feel hollow when compared to Codeforces. It is like being surrounded by walls.
So I have implemented a few features which are already present on Codeforces in AtCoder. I used Kenkoooo API to fetch rating for each problem and did get some inspiration from CF Analytics. Here are the features and the link to extension of course!!
Link for the extension: AC Analytics
Key Features
Activity Calander : Is added to better track your progress like in Github and Codeforces.
Problems Solved by Rating : See what you had been solving and up solve when needed.
Unsolved Problems : Easily identify and tackle unsolved problems to improve your skills.
Submission History: Access your submissions and others enabling you to monitor everyone's performance
Additional Stats: Gain valuable insights with a range of extra statistics.
Bookmark Problems: Save problems for later review or practice, ensuring you never lose track of important challenges.
- Problem Set with Filters: Browse and filter all problems from the AtCoder platform to find exactly what you need.
Daily Reminders: Set daily reminders to stay consistent and disciplined in your problem-solving practice.
Updates:
- 2/7/24: Reported bugs fixed, filter by solved problems added, option to disable rating in task page is added. CP companion extension still doesn't work, will look into it.
Please do suggest if any features are needed and report any bugs if found! As far as I know the reminders has some trouble working consistently which I'll fix on the next patch.
Thanks for reading this blog :)








In problemset filters please make max rating inclusive
I will surely fix it :)
nice, thanks.
It's working. Would be good if you can add topic-wise filter
Unfortunately there are no tags in atcoder problems so that cant be done. I would request atcoder hqs to start tag system as in codeforce.
Good Job Bro!
Awesome. Thanks for this!
Very cool, thanks for making this.
Its great extension, but please add it in firefox add-ons too, as it is only available to chromium users.
Amazing. Do you have any plans for making it available on firefox ?
Yes I do! I will add it as soon as I get the chance.
any update?
Thanks for the extension.
Feature Request:
Great suggestion!! I will implement it!
very helpful, Thanks.
Nice extension!
Bug: The coloring of 2300~2700 seems to be wrong.
Thanks a lot!! I'll fix it :)
What is the tech — stack you used to build it, also if you don't mind can you share the documentation? Thankyou!
I just used vanilla Javascript, I do not have any documentation for "my" extension but I do have the kenkoooo API documentation
I plan on making my own API soon :)
Great extension! You should add hide problem rating too. Sometimes seeing the rating make solving problem unnatural.
Do you have a github repository for this project? I'd like to see it… Thx a lot for your tool
Good initiative
helpfull
Why aren't certain submissions during the contest counted?
They will be counted, but will take some time for the API to update it's data. Also, during the contest, API does not work.
Good job
not work now
Is there an extension that helps to sort based on tags on AtCoder?
Thanks for letting me know this extension, it is really useful
So, I solved some of the questions of 900 and 1000, but i am not able to see on my profile problem chart. Neither it is getting green on my activity calendar.
Is this API problem, but using your extension I can see problem ratings on task page. So, please fix it or help me why i am not able to see.
I believe this is an API problem. My extension is dependent on the third-party API kenkoooo, however, it seems his data collector has been down for a while now. I will try hosting my own scraper, but I found it to be much slower than kenkoooo's API since I needed to use IP rotation otherwise. It will take time though :(
hayagrivan.dj
Issue: CompetitiveCompanion — Atcoder Parser kept failing because of installing AC Analytics.
Could you please edit manifest of this extension to not work on Problem Page? Or like make it compatible with CompetiveCompanion Extension.?
Could you please opensource it? — It would make it easier to maintain and fix issues for me.
I found a workaround.
Find Install path of extension using Extension ID
C:\\Users\\[YourUsername]\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\{ExtensionID}~/.config/google-chrome/Default/Extensions/{ExtensionID}fbliobpicoanacbncphlgaghdkodkgme(Source: chrome://extensions/)Edit Manifest.json — It's better to copy extension folder to another folder and then edit.
add below line afer every
"matches":[]Hi!! I hope the errors you face while using CompetitiveCompanion are the following
Image1 Image2
The problem occurs due to the rating being inserted in the page, which seems to render the CompetitiveCompanion Atcoder Problem Parser useless. If I exclude this page then this feature has to be removed.
There is a provision to disable this feature in the AC Analytics extension's pop-up as shown in the image below. This worked for me, but if you do face more difficulties let me know by personal chat.
Image3
Thank You So Much
Hey, I guess it is not working currently ??
I guess you're using the latest version of Chrome.
Bug Report: Extension fails to render on latest Chrome due to implicit Promise in onMessage listener
Hi Developer,
First of all, thank you for creating this amazing extension! I’ve been using it for a while, and it’s incredibly helpful.
I recently encountered an issue where the extension stopped working on the latest versions of Google Chrome. The background script was returning null to the content script, resulting in the following console error: TypeError: Cannot read properties of null (reading 'htmlResponse')
After some debugging, I found that the root cause is related to how the latest Manifest V3 Chrome handles Promises in chrome.runtime.onMessage listeners.
In your background script (where the popup alarm listener is defined), there is this line:
Because this arrow function lacks curly braces {}, it implicitly returns the result of the update() function. In recent Chrome updates, if an onMessage listener returns a Promise, Chrome immediately assumes the channel is asynchronous and takes over the response handling. This interrupts the return true; logic in the other appendHTML listener, forcing the channel to close prematurely and sending a null response back to the frontend.
The Fix: Simply wrapping the update function in curly braces cuts off the implicit return, and it perfectly resolves the crash on my end:
I've tested this fix locally as an unpacked extension, and everything works flawlessly again.
Could you please apply this minor fix in the next update? Thanks again for your hard work!
Best regards, A regular user
Great!! Waiting for something like this.
Where is the submissions page where rating of all submitted problems is shown ? Also where is the activity calendar ?