avighnakc's blog

By avighnakc, history, 9 months ago, In English

Ever wanted to see how you’d score in CEOI 2024… as if you were actually there? With real medal cutoffs, percentiles, and your submissions auto-scored by subtasks: all just by entering your oj.uz username? Now you can.

What's inside

  • Precise tracking – mark problems as solved, partially solved, or assign an exact score out of 100.
  • Contest-based organization – problems grouped by Olympiad, year, and round.
  • Virtual contests – start any past contest with a live timer, track performance, and get an actual post-contest scoreboard.
  • Real historical data – medal type, rank, percentile — all based on the original contest results.
  • Auto-sync with oj.uz – past submissions automatically update your progress (for your entire checklist!) or in contest submissions for virtual contests.
  • Submission breakdown – see your score per subtask (in contests), not just the final number.
  • Dark mode & responsive UI – works on mobile, tablet, and desktop.

with even more settings for customization! Try it out yourself!

Also, you can share your checklist with other people (setting accessible via the dropdown menu on the main page), for example, here's mine: https://checklist.spoi.org.in/profile/avighna

Images

Dashboard after logging in Ongoing virtual contest

Dashboard after logging in, ongoing virtual contest

Virtual contest history Detailed performance breakdown

Virtual contest history, detailed performance breakdown

Contribute

The platform already covers a huge range of Olympiads, but there’s always room for improvement, especially for virtual contest data.

You can help by:

  • Adding contests that aren’t yet in the virtual contest library.
  • Adding problems from Olympiads you’d like to see supported.
  • Improving contest metadata (dates, locations, medal cutoffs, etc.).

Whether you’ve got a single contest to add or a whole archive, contributions are welcome. Check out the GitHub repository for instructions on how to get started.

A better OI Checklist

Some of you might remember the old OI Checklist from years ago. It was a great tool for its time, but it’s no longer updated, missing recent contests, closed source, and lacking a lot of features competitive programmers now expect.

This is the modern, actively maintained, open-source successor.

It already supports dozens of Olympiads— from IOI, APIO, CEOI, BOI, EGOI to USACO, NOI.sg, and even Google Kick Start— and it’s built to be easily extended.

Your next medal could start here: try the demo now, and if you find it helpful, please star the repo on GitHub.

Update: Please check the comments for new features added!

  • Vote: I like it
  • +142
  • Vote: I do not like it

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

I remember how this first started... with you on google sheets, trying to manually input olympiads and make a checklist. To you finally deciding to make this website. From deciding how to design the website so that it looks 'neat' and 'cool' to the loading animations, adding virtual contests, etc. I'm really happy with how the website has turned out now. Good job :)

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Tysm for this!!!!

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

This'll be so helpful.. thank you so much! :)

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

great! can you add joioc too??

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

    I'll try to add that soon; will reply to you once it's done.

  • »
    »
    9 months ago, hide # ^ |
    Rev. 2  
    Vote: I like it +6 Vote: I do not like it

    Done. It’s now included by default at the bottom of everyone’s checklist. You can move it to wherever you prefer from https://checklist.spoi.org.in/layout. If the main page looks glitched after the update, try a hard reload with Ctrl/Command + Shift + R to fix it.

    I’m thinking about how to add the VC data, but JOIOC isn’t a standard olympiad, it includes participants from all over the world (even LGMs) and there are no medals. Wdyt?

    • »
      »
      »
      9 months ago, hide # ^ |
      Rev. 2  
      Vote: I like it 0 Vote: I do not like it

      thanks!
      hmm..

      I mean the problems are really good and adding the data is better than nothing

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

Update: There was a bug with GitHub login — I’d forgotten to update a variable in my .env. This caused it to be impossible to link or sign up using your GitHub account.

It’s fixed now. If you tried earlier and saw the "redirect URI not associated with this application" error, it should work fine if you try again.

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

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

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

Can you make an option to remove certain olympiads from the page? And also a solve count for the problems would be very nice

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

    Nice, that was also actually in my mind as something I should add (the removing olympiads from the main page). I'll try to get that done soon. Also, what do you mean by a solve count— I'm a bit confused since a progress bar already exists :O

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

      The thing that was so good about the previous OI checklist was that when you hover over a problem you can see how many people got 100/100 on the problem in the official contest, it allows you to pick more suitable problems quicker

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

        Hmm, maybe. I can see how that could be useful. My only concern is that showing solve counts might affect virtual contests, since it gives away how “hard” the problem was in the original contest. I’ve never really thought of adding it because I personally like to approach problems as if I know nothing about them beforehand, and I’ve found that style really helpful. But I’m open to hearing thoughts if others feel the benefit would outweigh that.

        Also, I just added the hiding olympiads feature: https://checklist.spoi.org.in/layout

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

          I see your point but not all your practice is virtual contests(it’s actually a very small part considering it’s pretty hard to find continuous 5 hour windows) you can add a switch to toggle solve count not to ruin someone’s vc

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

          To be honest I dont think orienting your site on virtual contests is such a good idea, sure you are making a nice UI etc but I can start a virtual contest by doing 3 clicks to open the problems and start a timer on my phone.

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

            Sure, you can hack together a VC with tabs + a timer, but the whole point here is making it feel like an actual contest environment without the hassle. For me the killer thing is that you don’t need to hunt down medal cutoffs or ranklists: you just finish your VC and boom, everything’s laid out for you on a golden platter. Add in automatic tracking with the checklist and it’s way more than just a timer.

            Of course, the checklist side is still the main focus, but VC mode just makes it so much smoother and more fun.

            By the way, thanks for reminding me! I'll find a way to integrate this into the website too; the only issue is data procuring. However, for example, I have all IOI data and sparse amounts of other contests' data. I'll need to work on collecting more publicly available data as well, and I don't know how long this will take. But I'll try my best o7

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Hi very cool website ! Maybe it will be cool to add a foot-note system for each problem, like "What I learn from it ?".

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

    Hey, thanks for the compliment and suggestion! I'll see what I can do to make that blend nicely with the current UI, and let you know if I manage to add it.

  • »
    »
    9 months ago, hide # ^ |
    Rev. 3  
    Vote: I like it +14 Vote: I do not like it

    Done. I've added a small note icon:

    enabled by default, can be disabled in settings, on the main dashboard page.

    Clicking the icon gives you a rudimentary markdown editor:

    I've also added some keyboard shortcuts.

    • Ctrl/Cmd + B ==> bold text
    • Ctrl/Cmd + I ==> italicize text
    • Ctrl/Cmd + K ==> hyperlink
    • Ctrl/Cmd + E ==> code block

    The rightmost icon is for preview. This renders your markdown into a format that's easier on the eyes. Also, you can use Ctrl/Cmd + / to toggle between edit mode and preview mode.

    I hope you find this useful! Note that you might need to hard reload your page (Ctrl/Cmd + Shift + R) for the changes to kick in.

    Update: the editor now supports LaTeX as well! Use a single dollar sign for inline LaTeX and two dollar signs for centered LaTeX.

»
9 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

As someone who has tested this website, I believe it is a really useful tool. Especially love the sync feature.

»
9 months ago, hide # |
Rev. 2  
Vote: I like it +3 Vote: I do not like it

Wonderful website! Please add codebreaker sync too!

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

Can you please add EJOI? You can find 2017-2022 in CSES and some of the 2019-2021 problems in oj.uz (although some are missing). There are also a lot of problems (2017-2024) in Eolymp Basecamp, although you need to start a VC to be able to upsolve

Also, is there a way to add problems and contests on my own? (I found the github repository but I'm not sure where to add the problems and in what format)

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

    Also (not sure if this is already a feature), is it possible to manually add the scores from a VC? I've done a lot in the past, usually in sites other than oj.uz, and it would be nice if I could add them, too

    • »
      »
      »
      9 months ago, hide # ^ |
       
      Vote: I like it +11 Vote: I do not like it

      I think I’ve tracked down all of them: https://qoj.ac/category/347: looks like it’s got 2017–2024 covered. I’ll stick to oj.uz whenever a problem exists there, and use qoj.ac for the missing ones. The links should be “direct upsolve” (no restrictions, unlike the ones you linked earlier).

      You can add contests/problems yourself, yep. Quick rundown:

      • Fork the repo: https://github.com/avighnac/oi-checklist
      • Problems go in backend/data.
      • If the contest has multiple stages (e.g., Day 1/Day 2):

        backend/data/ejoi/<year>/Day_1.yaml
        backend/data/ejoi/<year>/Day_2.yaml
        
      • If it’s a single-day contest:

        backend/data/ejoi/<year>.yaml
        
      • Each problem entry has: name, number, link (oj.uz preferred, qoj.ac if missing).
      • Virtual contests go in backend/contests with the same folder structure, but the file also needs contest name, duration, host country, etc.

      Right now I’m migrating my stuff to always follow the “Day 1 / Day 2” structure, so if you add EJOI, follow that, I’ll take care of any old inconsistencies later. I’d actually add these myself right now, but I’ve got some work this afternoon. I should be free around 9–10 PM IST to do it. If you feel like PR-ing it before then, I’ll review and hook it into the frontend.

»
8 months ago, hide # |
Rev. 2  
Vote: I like it 0 Vote: I do not like it

Hi [user:avighnac] ! I have another sugestion, may it be possible to add another color for the problem, like "mindly solved but not coded" ?

thx for your tool, I use it everytime !

  • »
    »
    8 months ago, hide # ^ |
    Rev. 2  
    Vote: I like it 0 Vote: I do not like it

    Hey, somehow I missed this comment. I’m not too sure about that idea, for me, it kinda clashes with how I think about the checklist. Like, I don’t really see a problem as “solved” unless it’s actually coded, and the checklist is meant to reflect that (no rewards before then). Do you get what I mean? If you can convince me otherwise I’ll consider it, but right now I don’t think it fits too well.

    PS: I'm glad you're finding the checklist helpful :p

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

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

»
3 hours ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Hi, love this checklist!

Would be cool if we could pick the range of years we want shown for each Olympiad. Eg, Say I want to practice only from JOISC 2017 upwards, then I would like to hide JOISC 2016 and older.