Landing page and curated problem sheets for CP Ally IDE, the unofficial partner code editor for competitive programming on CodeForces.
CP Ally IDE is an unofficial desktop code editor purpose-built for competitive programming on CodeForces. Instead of a general-purpose IDE, it bundles exactly the contest loop into one window — because mid-contest, speed matters more than general-purpose IDE features.
- 🔎 Fetch by problem code — type a contest code like
2208Aand pull the problem from CodeForces. - 📄 Faithful rendering — statements render with HTML, icons, and LaTeX.
- ⌨️ Syntax-highlighted editor — a compact split layout: statement on the left, code on the right.
▶️ Run locally — execute against the extracted sample tests or your own custom cases, with case-insensitiveYES/NOjudging.- 💾 Caching that remembers — statements cache for fast reloads; your code is preserved per problem and per language.
- 🪟 Persistent workspace — window state, divider positions, and the last language are restored.
The desktop app is a Java / Swing application built with Maven, and lives in its own repository: 👉 github.com/0xPolybit/cp-ally-ide
Beta: the app is under active development and may be prone to bugs and crashes.
The app is distributed from the main repository's Releases page.
- Make sure you have a recent Java Runtime (JRE 17+) installed.
- Download the latest build from the Releases page.
- Launch it (double-click the packaged app, or run the jar):
java -jar cp-ally-ide.jar
Requires JDK 17+ and Maven.
git clone https://github.com/0xPolybit/cp-ally-ide.git
cd cp-ally-ide
mvn clean package
java -jar target/*.jar- Enter the code — a contest code and index, e.g.
2208A. - Fetch — pull the statement and sample tests from CodeForces.
- Read — study the rendered problem in the left panel.
- Write — code your solution in the editor on the right.
- Run — judge it locally against the samples.
This repo (cp-ally-landing) is the marketing site + problem sheets for CP Ally IDE. It is a
Next.js app (App Router, Tailwind CSS v4, TypeScript) and includes:
- Landing page — what CP Ally IDE is, its features, and the workflow.
- Problem sheets (
/sheets) — curated, rating-laddered CodeForces problem sets by topic (Beginners, Number Theory, Bit Manipulation, Dynamic Programming, Strings, Hashing, Sorting, Mathematics). - Progress tracking — enter your CodeForces handle and each problem row is tinted by verdict (solved / wrong / attempted), with a "show only unsolved" filter.
- Open in app — every problem has an
cpally://problem/<code>deep link that opens it directly in the desktop app.
git clone https://github.com/0xPolybit/cp-ally-landing.git
cd cp-ally-landing
npm install
npm run devOpen http://localhost:3000.
| Script | Description |
|---|---|
npm run dev |
Start the dev server (Turbopack) |
npm run build |
Production build |
npm run start |
Serve the production build |
npm run lint |
Lint with ESLint |
Set your production origin so sitemap.xml, robots.txt, and Open Graph URLs resolve correctly:
# .env
NEXT_PUBLIC_SITE_URL=https://your-domain.exampleapp/
├─ _components/ UI components (header, hero, tracker, modal, table…)
├─ _data/ Sheet registry + per-topic problem lists
├─ api/cf-status/ CodeForces verdict proxy (handle → per-problem status)
├─ sheets/ Sheets directory + dynamic /sheets/[slug] pages
├─ layout.tsx Root layout, fonts, metadata
└─ page.tsx Landing page
Built by Swastik Biswas, with contributions from Himanshi Saxena.
Licensed under the Apache License 2.0 — see the main repository for details.
CP Ally IDE is an unofficial tool and is not affiliated with or endorsed by CodeForces.