GitInsight - Temporal Knowledge Graph for Software Development Processes
GitInsight enables end-to-end tracing of requests across web applications through a temporal knowledge graph.

Initial situation
Modern software development suffers from fragmented information across version control systems, collaborative platforms and code analysis tools, making it difficult to gain a comprehensive understanding of a software project. Particularly in distributed web applications, the separation between frontend and backend components, combined with the evolution of codebases, forces developers to manually trace connections across multiple systems. A process that is time-consuming and error-prone.
Problem statement / Project goal
The initial GitInsight was developed during a previous project. This project extends the system to address these challenges by enabling analysis of web applications. The objectives were to broaden analytical capabilities for web applications, integrate continuous extraction through CI/CD pipelines and improve user accessibility.
Impression 1
The figure illustrates how GitInsight can be integrated into software development workflows.
Impression 2
Query interface to interact with GitInsight.
Impression 3
Example of how artifacts from different systems are connected in the knowledge graph.
Solution developed and its benefits
The solution introduces a temporal knowledge graph that integrates:
- OpenAPI specifications
- Frontend API client usage
- Static code analysis data (Classes and Methods)
- Git data (Commits, Diffs and Tags)
- GitLab data (Issues, Merge Requests and Pipelines)
Enabling end-to-end tracing of requests from user interactions through API calls to business logic. A server-based architecture with an HTTP-API enables continuous and automated extraction, while enhanced reporting, configuration and REPL interfaces improve usability. These components transform isolated development artifacts into a unified, queryable representation of the software development process.
A case study on a React + Java Spring web application demonstrated GitInsight's effectiveness through three realistic scenarios:
- Detecting breaking API changes by tracing deprecated endpoint usage across the frontend.
- Identifying performance anti-patterns such as duplicate calls and N+1 query patterns.
- Tracing frontend issues back to the commits that introduced them.
The case study showed how GitInsight significantly reduced manual effort and proved the system's potential in real-world projects.
Key terms
- Knowledge GraphStructural representation of data, highlighting relationships between entities
- ScalaProgramming language used to develop GitInsight
- Cats EffectFunctional monadic IO in Scala
- DatomicDatabase used to store knowledge graph
- DatalogQuery language used to perform queries on the graph