Knowledge represented in graphs e.g. my own wiki or a broader view of education make me wonder how it could be applied to programming.

For example a discussion on frameworks could be based on NPM distance

It wouldn't tell you which frameworks is best, obviously, but rather an estimation of how efficiently you can expect to learn it.

For example if your past work (estimated from your last 10 package.json) shows nothing with React, then maybe #r3f will be a hard uptake.

Alternatively if you still see that a framework gives result you are very interested in, it could suggest what are the closest tools you already know that would bridge the gap faster. You could also keep track of the novel tools available based on what you already use.

Could be done automatically for your whole team based on your repositories rather than solely yourself.

Note that this could be move up or down a level of abstraction. For example

  • if there is a dependency overlap what functions have you already used? What are the once still missing.
  • if there is none is there a language overlap? a programming paradigm overlap?

Inspired by

Checking the package.json file of an example for an indoor geolocation project.

See also