Skip to content

WorkWingman — Learning Paths / Practice Catalog (Plain Language)

This adds a "Practice for this role" section to the Study & prep screen — a hand-picked list of places to actually practice for the specific job you're looking at, plus an optional, very careful nod to your LeetCode progress if you want it.

Part A — a curated practice list, matched to the job

Think of this as a short, trustworthy reading list rather than a giant dump of every course on the internet. It's about a dozen entries: a couple of LeetCode courses (System Design, and a Data Structures & Algorithms crash course), a handful of LeetCode "study plans" (structured sets of practice problems — SQL, Pandas, JavaScript), and a few well-known free platforms for data-focused roles (Databricks, Snowflake, dbt Learn, Kaggle Learn).

Every single link was checked before it went in this list. Some of them (Databricks, Snowflake, Kaggle) could be checked directly by fetching the page. LeetCode blocks that kind of automated check, so those links were instead confirmed a different way — by checking that search engines have indexed the exact page with the expected title, which only happens for pages that really exist. Same standard of proof, just a different method because LeetCode says no to direct automated checks (more on that below).

How it decides what to show you: it looks at the keywords from the job description (both the ones you're strong on and the ones you're missing — missing ones matter more, because that's where practice actually helps) and matches them to a small, plain-English list of skill words. "SQL," "Postgres," "query" all point to SQL practice. "Pandas," "dataframe" point to Pandas practice. It also looks at your intended job title from your profile, in case the job description itself is thin on detail. And if the role looks like any kind of software engineering job, it always includes the Data Structures & Algorithms crash course — and if it looks like a senior role, it adds the System Design course too. This is all instant, on-device matching against a fixed list — no AI call, no network request, completely predictable.

Some LeetCode items need a LeetCode Premium subscription — those are clearly marked "requires LeetCode Premium" so you're never surprised by a paywall.

Part B — should the app peek at your LeetCode stats?

The idea was tempting: "you've solved 40 Easy problems but almost no Hard ones — maybe start with the crash course." To do that automatically, the app would need to read your public LeetCode profile (solved counts by difficulty) for a username you give it.

We checked whether that's actually allowed, and the honest answer is no.

Two pieces of evidence, both straight from LeetCode itself:

  1. LeetCode's robots.txt file — the standard, official place a website tells automated tools what they're allowed to touch — explicitly says "don't touch /graphql." That's the exact endpoint the community trick for reading public profile stats uses.
  2. LeetCode's own Terms of Service plainly says scraping, crawling, or any automated reading of the site is not allowed.

Yes, plenty of hobby projects on GitHub do it anyway, and LeetCode hasn't shut them all down. But "a lot of people get away with it" is different from "LeetCode says it's fine" — and the rule we set for this feature from the start was: if it's not clearly allowed, don't do it. Both of LeetCode's own signals point the same direction, so this is a clean call, not a close one.

What WorkWingman does instead: nothing sneaky at all. If you type your LeetCode username into the Study screen, all the app does is build a link straight to leetcode.com/u/yourname/ — your own public profile page — and shows it to you with a friendly "check your progress here →" note. WorkWingman never visits that page itself, never reads your stats, never logs into LeetCode on your behalf. You click the link, you look at your own numbers, you decide what to study next. That's it — supportive, not surveillance.

If LeetCode ever publishes an official, documented API for this with clear terms allowing it, that would change the calculus and this could be revisited. Until then, this is the app being careful with something that isn't clearly its business to read.

What you'll see on the Study screen

  • A "Practice for this role" section with cards for each matched resource — its name, a badge for what kind it is (course / study plan / platform), a "free" or "requires LeetCode Premium" tag, and a note on why it was picked for this job.
  • A small, optional "Based on your LeetCode progress" box where you can type your username and get a direct link to your own profile — with a plainly stated reminder that WorkWingman never logs in or reads it for you.