How LeetCode solved tags are transformed into a mathematical skill profile.
4 min readYour LeetCode profile contains a goldmine of structured skill data. Every problem you solve is tagged with algorithmic concepts like Dynamic Programming, Binary Search, or Graph Theory. OSBridge reads these tags and transforms them into a machine-understandable format.
We query LeetCode's unofficial GraphQL API to fetch your solved problem counts by tag. The response looks like this:
// Raw LeetCode tag data
const solvedTags = {
"Dynamic Programming": 15,
"Array": 45,
"Binary Search": 12,
"Graph": 8,
"Tree": 22,
"Hash Table": 31,
"String": 18,
"Depth-First Search": 14,
};Tags are normalized to canonical computer science terms. This ensures that variations like "DFS", "Depth-First Search", and "depth first" all map to the same concept.
The normalized tags are serialized into a natural language description and sent to Google Gemini's text-embedding-004 model, which returns a 768-dimensional float vector.
// Serialized skill description sent to Gemini
const description = `
Developer with strong experience in:
- Dynamic Programming (15 problems solved)
- Array manipulation (45 problems solved)
- Binary Search algorithms (12 problems solved)
- Graph theory and traversal (8 problems solved)
`;Tip
How many dimensions does the skill embedding vector have?
On this page