
I’m building a developer tool (desktop app) that scans codebases and builds graphs to help developers quickly understand poorly documented projects.
A key feature is “blast radius detection,” highlighting affected nodes as files are edited spanning cross-file, cross-module, and in the future cross-network as well.
The next step is using AI to infer C4 diagram levels.
The best thing is, that the data never leaves the user’s machine.
Status:
Challenges:
If this sounds interesting, let’s chat: https://cal.com/yousseft-tharwat
Hi Youssef!
Often while onboarding a new team member / myself to an existing mature project - I face the challenge of grokking the big picture of the codebase. Figuring out the “entry point” to the workflow, layout of “utils” components and the underlying plumbing to understand data flow - are common challenges. So - I empathise with this DevX problem first hand.
I have often wished there was some tool that gave a high level diagram of the codebase and also versatile enough to deep dive into the implementation details in an adhoc manner. Currently IDEs help to a small extent but with the ability of LLMs I believe a much better codebase understanding experience should be feasible now.
With llama and other open source foundation models - local ai so that proprietary code never leaves your machine seems closer to reality than ever before.
Tangential but have you seen Cursor IDE ? It leverages llms well to give git style code patching developer experience. I imagine the tool you have in mind to complement the ai IDE functionality.
What is your thought on positioning the product- will it be a standalone product or can it also be a plugin for existing IDEs? I also forsee distribution challenges- how do you plan to reach your users?
But overall - I think its a neat idea and may be the right time for it is now. I am interested in seeing how your product roadmap evolves and wondering if I can contemplate in some way. I am into LLMs and ML platforms.
This comment was deleted 2 years ago
Check out this startup, they are doing something very similar:
https://www.codeviz.ai/
Hope this helps
Ahhhh that's crazy, haha, and backed by YC.
Thank you
you do know that the good devs will not need your tool and the bad ones will never use it.
but good luck anyway.
I appreciate the feedback.
Why do you think good devs wouldn't use it?
no need, messy code is what professional devs do every day, you forcing a specific structure will clash with the internal image the developer has created for the code and having a diagram before you even start dealing with the code is pointless as anyone good will just debug/trace what they need and ignore the general structure
the only use case for your code is when there is a mess (for example, some idiot decided to use Python) and it is decided that things need to be reorganized, but even then is way easier to just write everything clean rater to fix it.
This is not a general structure. It's how functions are calling/being called and represent the flow of data.
Not sure if you worked on a large enough codebase but sometimes your brain's context window is not big enough to capture everything. Especially when you're making changes, the connected flows and nodes get highlighted so you're aware of those parts that would normally cause regression bugs.
I do custom software solutions for large organizations, my system designs start at 500K lines, and the more complex ones get up to 2M, but none of them is a single app, not crazy enough to have more than 5K in a single system module.
So for my use, it will never work as the flow is jumping between services and applications.
I'm sure there is a use case for your idea, just do not see any and think it is a way too narrow case for financial success of something like this (not even mentioning the impossibility of proving that whatever the thing spits out will be actually true )
Not sure if you read the description properly but you might have skipped over the part I said "cross-file, cross-module, and in the future cross-network as well."
You can click the node and it opens the function in your editor of choice (to check).
That is a "wish it can do that" not actually possible to do that.
But again, good luck
It is ;) haha, thanks for the validation. Have a nice weekend