megaspazz's blog

By megaspazz, history, 22 months ago, In English

I have always been curious about my ranking in the leaderboard as a function of time, since I have always suspected that I am rather slow on easy problems.

To learn Angular, I built a web app that displays your ranking throughout any given contest.

If you are interested, please give it a try: https://megaspazz.github.io/CodeRank/

As of now, it works with normal CF rounds and ICPC-style rounds; it should probably work with IOI-style contests, but they seem to be rare on Codeforces. It doesn't really work for marathon-style contests.

Example screenshot: Example screenshot

Some notes:

  1. Codeforces API sometimes doesn't report hacks for contests, for example API link for Codeforces Round 576 (Div. 1) seems to always report an internal error.
  2. It's hosted serverless on Github pages, so I manually pre-process all of the contests so that the JSON only contains data the app needs and it avoids hitting the Codeforces when people use the app.
  • Vote: I like it
  • +188
  • Vote: I do not like it

»
22 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Auto comment: topic has been updated by megaspazz (previous revision, new revision, compare).

»
22 months ago, # |
  Vote: I like it +8 Vote: I do not like it

Wow, great job!

It would be nice if you added an option to choose a contest from the list by its name. Like here

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Great job!

»
22 months ago, # |
  Vote: I like it +12 Vote: I do not like it

Nice tool, thanks! But I think it doesn't take hacks into account. Or at least my final place in contests where I performed hacks are incorrect in your tool. Anyway, great job!

  • »
    »
    22 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    I actually did implement hacks, but it might be buggy since the hacks come in a different format from the contest standings. Could you link to a specific contest where it didn't work for you?

    • »
      »
      »
      22 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      contest 740, contest 1119

      • »
        »
        »
        »
        22 months ago, # ^ |
          Vote: I like it +10 Vote: I do not like it

        Thank you! I have found and fixed the bug with hacks :)

        You should see your correct rank for those contests now.

    • »
      »
      »
      22 months ago, # ^ |
        Vote: I like it +44 Vote: I do not like it

      In the recent polynomial round, I wanted to know how many ranks higher I would be if not for the hackfest on B. Luckily, your application did just that for me. Every bug is a feature from another perspective

»
22 months ago, # |
  Vote: I like it +13 Vote: I do not like it

I think current performance over time (as per cfpredictor) makes more sense

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

upvoted because master yi profile picture

»
22 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by megaspazz (previous revision, new revision, compare).

»
22 months ago, # |
  Vote: I like it +1 Vote: I do not like it

Very interesting website! But please kindly add recent contests too (1777, 1792, 1782).

Also 1775 is not working with undefined has no properties error in the console.

  • »
    »
    22 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    Sorry for the delay! It currently requires some manual efforts since data for the contests need to be pre-processed manually, since I wanted to avoid hitting the Codeforces API server unnecessarily serving static data. However, I can see that many users may want to see recent contests, so I may add a feature to do missing contests on-the-fly by directly querying the Codeforces API server.

    Also, thanks for finding out about contest 1775. It appears that one got an updated ranklist as the new version I got today was different from the old version I got previously; I believe the ranklist was out-of-sync with the hacks list, and thus some users who submitted hacks couldn't be associated to a user on the ranklist.

»
22 months ago, # |
Rev. 2   Vote: I like it +6 Vote: I do not like it

I manually pre-process all of the contests so that the JSON only contains data the app needs and it avoids hitting the Codeforces when people use the app.

You can add a GitHub Action that periodically checks for new contests and make a commit with the processed data.

»
4 months ago, # |
  Vote: I like it 0 Vote: I do not like it

megaspazz

This website is goat, I always wanted to see a timeline as well. But, unfortunately, there are no recent contests.

Wondering how you get the standings for a specific minute using api? Are you just sending standings api request every minute in live?