Блог пользователя stepwise

Автор stepwise, история, 7 недель назад, По-английски

Hello everyone,

I often missed upcoming contests across Codeforces, AtCoder, LeetCode, and CodeChef, so I built AlgoRadar an open-source Chrome extension that brings upcoming competitive programming contests from multiple platforms into one place.

✨ Features at a glance:

  • Multiple Platforms: One unified interface for Codeforces, LeetCode, AtCoder, CodeChef, and more soon.
  • Smart Filtering: Filter contests by platform and time range ("Today", "This Week", or "This Month") so you only see events that matter to you.
  • Live Countdown Timers: See exactly how much time remains before registration or contest start, automatically adapted to your computer's local timezone..
  • Fast Performance: Only 88 KiB in size, with background synchronization and caching to keep contest data fresh.


Technical Implementation & Architecture

For those interested in how it works under the hood:
  • Instant Popup Loading: Since data is pre-synchronized, opening the extension doesn't trigger multiple external API requests, resulting in fast popup loading.
  • Server-side Synchronization: Instead of fetching schedules every time the popup opens, a backend periodically syncs contest data and serves cached results to the extension. This keeps popup load times fast while avoids repeated requests to external services
  • Resilient Data Fetching: Some contest platforms are protected by Cloudflare, making scheduled fetches unreliable from standard environments. To handle this, the backend uses a serverless synchronization layer with cached responses, allowing contest data to remain consistently available even when direct scheduled fetches become unreliable.

The project is 100% open source. No ads, no analytics, no tracking, and no user credentials are collected. Feedback, bug reports, and feature suggestions are always welcome.

Get it on Chrome Web Store

GitHub Repository

Полный текст и комментарии »

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится