It doesn't matter what the backend is written in. What matters is user experience. And GitLab's problem is a total lack of any usability. Bloated and full of inconsistencies.
We’ve at least come up with a way to programmaticaly declare links. We now can add comments above endpoint definitions in code and upload these “edges” to a central server that stores them to a graph. It has a web frontend that renders the graph (via tree.js I think). Not OSS though.