joyboy24's blog

By joyboy24, history, 4 months ago, In English

Hi everyone!

Over the past few months I've been building CP-Vertex, a training platform designed around one simple idea:

Most tools can tell you what your weaknesses are. Very few tell you what to practice next.

The goal of CP-Vertex is to bridge that gap.

Website: https://cpvertex.vercel.app/

Source Code: https://github.com/aristoncodes/CP-Vertex


The Training Loop

Instead of randomly picking problems, CP-Vertex follows a simple workflow:

Analyze your profile → Identify weak topics → Practice them → Test yourself in a duel → Upsolve missed problems → Repeat

The focus is on helping you improve the topics that actually limit your progress.


1v1 Duels

Challenge another programmer to a live duel.

Problems are automatically selected around both players' ratings, making matches competitive rather than one-sided.

Features:

  • Automatic problem selection
  • Live progress updates
  • Spectator mode
  • Server-side duel validation
  • Solve verification through the Codeforces API

There is no "Mark as Solved" button—you must actually solve the problem on Codeforces.


Drill — Targeted Practice

This is the feature I care about the most.

The system analyzes your solved problems and recent contests to identify your weakest topics, then generates a practice set specifically for those topics.

If Graphs are your weakest area, you'll receive Graph problems.

If DP is holding you back, you'll practice DP.

The goal is to eliminate the question:

"What should I solve next?"


Other Training Modes

  • Blitz — Short timed sessions for improving speed.
  • Warmup — A few at-level problems before a contest.
  • Boss — One problem roughly 300–500 rating above your current level.
  • Upsolve Tracker — Automatically queues unsolved contest problems so they don't get forgotten.
  • Virtual Contests
  • Problem Browser with rating, tag and solved-status filters.

Analytics

You can analyze any public Codeforces handle without creating an account.

Available features:

  • Topic strengths and weaknesses
  • Rating heatmap
  • Contest pace and accuracy
  • "What if I had zero wrong submissions?" estimate
  • Handle comparison
/u/<handle>

/u/<your_handle>/vs/<another_handle>

Unlike most analyzers, these insights feed directly into Drill recommendations and the Upsolve Tracker.


Technical Details

A few implementation details that people here may be interested in:

  • Uses official Codeforces problem ratings.
  • Counts only distinct solved problems.
  • Team submissions are excluded.
  • Multiple accepted submissions do not inflate statistics.
  • Handle ownership is verified using a Compilation Error submission (no passwords or account access).

The project is completely open source.


Current Limitations

  • Statistics depend on Codeforces data synchronization.
  • Duels require two users online at the same time.

Feedback

I'd really appreciate feedback from the Codeforces community, especially on the Drill recommendations.

If the generated practice sets don't match your actual weaknesses, or if you have ideas for improving the training workflow, I'd love to hear them.

Thank you for reading!

— joyboy24

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

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

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

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

Cool project

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

W

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

W