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.
- Live demo: https://checklist.spoi.org.in/. (click on 'Try Demo')
- GitHub (open source!): https://github.com/avighnac/oi-checklist/
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
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!








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 :)
Tysm for this!!!!
This'll be so helpful.. thank you so much! :)
great! can you add joioc too??
I'll try to add that soon; will reply to you once it's done.
thank you so much!
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?
thanks!
hmm..
I mean the problems are really good and adding the data is better than nothing
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.
Auto comment: topic has been updated by avighnakc (previous revision, new revision, compare).
Can you make an option to remove certain olympiads from the page? And also a solve count for the problems would be very nice
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
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
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
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
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.
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
Nice
Hi very cool website ! Maybe it will be cool to add a foot-note system for each problem, like "What I learn from 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.
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.
code blockThe 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.
As someone who has tested this website, I believe it is a really useful tool. Especially love the sync feature.
Wonderful website! Please add codebreaker sync too!
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)
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
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:
backend/data.If the contest has multiple stages (e.g., Day 1/Day 2):
If it’s a single-day contest:
backend/contestswith 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.
Thank you!! About the EJOI problems, I don't think I'll be able to add anything today, I mostly wanted to ask in order to add other olympiads later.
Merged your PR. As usual, EJOI should be last https://checklist.spoi.org.in/layout here, you can of course move it to wherever you want :)
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 !
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
Auto comment: topic has been updated by avighnakc (previous revision, new revision, compare).
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.