Ever felt like Codeforces tags are too limited? Lynkforces (pronounced link-forces) lets you fly around a 3D map of problems and discover clusters by reasoning and technique. Click points to fly to problems, see related ones, adjust rating, and enter your handle to see solves!
Direct link to the app: lynkforces.vercel.app
What it is
- Two maps:
- Reasoning — clusters by similarity of how you think about the solution.
- Tags — clusters by techniques/data structures (segment tree, DSU, Xor Basis, etc.).
- Color key: white = unsolved & not relevant (default), green = solved, purple = relevant (darker = more relevant), blue = solved + relevant (darker = more relevant).
- Dataset note: coverage isn't comprehensive, latest it goes that I saw while testing was about a year back (Round ~995 ish). 3D clustering is not perfect since high dimensional vectors were compressed to 3d, so some related points may still be far apart.
How to use it
1) Open lynkforces.vercel.app. 2) Pick Reasoning or Tags (top-left). 3) Use the search bar for ideas. 4) Slide the rating filter to your range. 5) Enter your CF handle to paint solves. 6) Click points to jump around and explore neighbors. Help lives in the bottom-left; 3D controls in the top-left.
Reasoning Map

Help / Controls

Tags / Techniques map

Quick Summary of how I built it
Tags are useful but broad, as two "graph" problems can demand very different thinking. I summarized editorials into skill vectors, core tasks, pure reasoning, and other fields (with llama because it's good at taking pieces from the editorial, understanding it, and turning it into matchable text). Then I turned those into embeddings, normalized them, then projected to 3D with UMAP. Semantic search uses the same space, so queries light up neighborhoods that “think” alike.
Tips
- Make queries descriptive. Instead of “lazy segment tree” (which can light up lots of generic segtree points), try “range add range max,” “range sum with updates,” or “range assign with queries.” Be smart with it!
- You can paste a problem short ID or a problem link to jump directly.
Try it: Lynkforces. If something stalls or feels off, please let me know, this is my first deploy, and feedback helps a ton!
Also this totally wasn't inspired by a way cooler project
Happy practicing!



