I ve always thought call graphs are a great way to explore a codebase. But they tend to be noisy because programs typically have a lot of control flow going most of which is uninteresting.I m toying around with a concept to generate hierarchical call graphs to visualize call flow at different levels of granularity like structs and packages. Because at times you want to see the architectural elements, and at times the low level detail. In addition, AI can help weed out some of the uninteresting noise and expand with additional semantic information.The result is an interactive diagram of your codebase that you can zoom in and out of to see the level of abstraction you re interested in. I ve generated diagrams for some popular go repositories in the link. Would love for you to have a look and hear your feedback on this concept. Also interested in your general thoughts around program comprehension and if you re rethinking this in the era of GenAI!