Type to search. Arrow keys to move, Enter to open, Esc to close.

All technologies

Knowledge graph visualization

An interactive force-directed graph generated from content relations that shows how languages, technologies, projects and research connect, without levels or scores.

Project requirement

Show the relations between languages, technologies, projects and research on a portfolio without skill ratings.

Technical question

How can the relations be shown in a way that stays correct as content grows and stays usable with a keyboard and reduced motion?

Validation

The graph is built at build time from the collections; an edge whose target does not exist is dropped. Node size follows the number of connections with an upper limit. Nodes are focusable links; with reduced motion the layout is computed up front without animation.

Decision

Generate the graph from content relations only, link every content node to its page, and highlight search results on the graph.

Node size shows the number of connections, not the depth of knowledge.

Implementations by language

TypeScript

buildGraph turns the collections into nodes and links at build time; the client runs a d3-force simulation and draws plain SVG without the D3 DOM module.

  • Embedded JSON escapes < so a closing script tag cannot appear in the data.
  • With reduced motion the simulation is stepped 300 times up front and not animated.

Used by projects