← Asil Khalifa

Contest calendars for Google Calendar

Subscribe links for CodeChef, Codeforces and LeetCode contests. The CodeChef feed is mine, rebuilt hourly from CodeChef's API — because every public one I could find had been dead for years. The others aren't mine, but this page checks hourly that they still work.

Subscribe

Click Add to Google Calendar and confirm — that's the whole thing. No signup, and nothing to install.

Live · checked hourly

CodeChef — rated contests

Starters, Cook-Off, Lunchtime, Long Challenge and anything marked (Rated). No Placement Prep or practice filler.

https://asilkhalifa.com/codechef-calendar/codechef-rated.ics
Live · checked hourly

CodeChef — every contest

Everything CodeChef lists, including Placement Prep Weekends and practice events. Filter it yourself.

https://asilkhalifa.com/codechef-calendar/codechef-all.ics
Live · checked hourly

Codeforces

Maintained by clist.by. Comprehensive and well kept — no reason to duplicate it.

br1o1n70iqgrrbc875vcehacjg@group.calendar.google.com
Live · checked hourly

LeetCode

Community-maintained. Weekly and biweekly contests. LeetCode only schedules about two weeks out, so it's normally a short feed.

tuppslu7fl1gbkcgsuohodopfle7euv4@import.calendar.google.com

The button opens Google Calendar in a new tab and asks you to confirm — you'll need to be signed in, and it has to be a browser, not the mobile app. Prefer to do it by hand, or using Apple Calendar or Outlook? Copy the value instead: the two CodeChef entries are feed URLs, for Other calendars → + → From URL; the Codeforces and LeetCode ones are calendar IDs, for Subscribe to calendar.

Why your CodeChef calendar stopped updating

It probably didn't break. The feed you subscribed to was almost certainly abandoned years ago, and a dead calendar feed looks exactly like a working one with no upcoming contests. Nothing errors. It just quietly stops.

I checked every public CodeChef calendar I could find. All of them are dead, including CodeChef's own:

FeedPlatformEventsLast eventState
Codechef Contest Calendar — the most linked one CodeChef19830 Jan 2021 dead
CodeChef Events — official CodeChef70231 Dec 2025 dead
CodeChef YouTube Events CodeChef1165 Dec 2021 dead
Daily Learning By CodeChef CodeChef0 empty
codeforces.com — clist.by Codeforces196417 Oct 2026 live
LeetCode Contests LeetCode1012 Sep 2026 live

Measured on 4 September 2026 by fetching each calendar's public .ics. The same check runs hourly in CI — if a feed recommended above goes stale, the build fails and I get an email.

The fix isn't to find a better feed. There isn't one. It's to generate the data from CodeChef's own contests API, which is public, unauthenticated and perfectly healthy. That's all this project does.

How to subscribe

Google Calendar

  1. Open Google Calendar on desktop — this can't be done from the mobile app.
  2. In the left sidebar, next to Other calendars, click +.
  3. Choose From URL, paste a feed URL, and click Add calendar.
  4. It syncs to your phone automatically within a few minutes.

Apple Calendar / Outlook

Both accept the same URL: in Apple Calendar use File → New Calendar Subscription; in Outlook use Add calendar → Subscribe from web. Both honour the feed's hourly refresh hint, which Google largely ignores.

Google re-polls external calendar feeds on its own schedule — often every 12–24 hours, sometimes slower. That's fine for contests announced days ahead. If you want changes within minutes, use the push method below.

Want it instant instead?

Subscribing is read-only and refreshes at Google's pace. If you'd rather have contests pushed into a calendar you own — appearing within minutes, with your own reminders, and with renamed or cancelled contests corrected automatically — the repo includes sync.py, which writes directly to the Google Calendar API using a service account. It's a small Python script; I run it hourly from a Raspberry Pi.

github.com/asil-khalifa/codechef-calendar — MIT licensed.

How this one avoids dying the same way

There'd be something absurd about publishing a fix for abandoned calendar feeds that quietly becomes one. The failure mode is always the same — silence — so the design targets that specifically:

One caveat I can't fully engineer away: GitHub disables scheduled workflows after 60 days without repository activity. If this page ever goes stale, that's the first thing I'd check.

Questions

Why aren't CodeChef contests showing in my Google Calendar?

Almost certainly because the calendar you subscribed to is no longer updated. Every public CodeChef feed I tested — including CodeChef's own — stopped years ago. A dead feed is indistinguishable from a working one with nothing scheduled, which is why it's so easy to miss. Subscribe to a maintained feed instead.

Is this official?

No. It's an unofficial project and isn't affiliated with CodeChef, Codeforces or LeetCode. It reads CodeChef's public contests API and reformats it as iCalendar.

How often does it update?

The feeds are rebuilt hourly. How fast that reaches you depends on your client: Apple Calendar and Outlook honour the feed's hourly refresh hint, while Google re-polls external feeds on its own schedule, often every 12–24 hours.

What's the difference between the rated and all feeds?

The rated feed covers Starters, Cook-Off, Lunchtime, Long Challenge and anything marked "(Rated)". The all feed adds everything else CodeChef lists, including Placement Prep Weekends and practice contests.

Can I use this for Codeforces or LeetCode too?

Those two already have good community-maintained calendars, linked above, so duplicating them would be pointless. This project checks hourly that they're still alive and flags them here if that changes.

Does subscribing give you access to my calendar?

No. Subscribing to an .ics URL is read-only and one-directional — your client fetches a public file. I can't see your calendar, and there's nothing to sign in to.

Unofficial project · not affiliated with CodeChef, Codeforces or LeetCode.
Source and issues: github.com/asil-khalifa/codechef-calendar · MIT licensed.
Built by Asil Khalifa.