It’s when debugging (understanding what went wrong) takes longer than fixing because the information is in a bunch of different places: Sentry, Stripe, LogRocket and several APM tools.
So engineers spend hours playing detective: copying request IDs between tools, matching timestamps, manually piecing together what happened.
Most teams lose hundreds of engineering hours per month to correlation tax. Time that could be spent shipping features instead of hunting for information.
When you ask an AI assistant "why is my Stripe payment failing?", it responds with educated guesses based on common patterns.
But the AI doesn't know what actually happened in your specific case. It doesn't have access to:
- What payload did your frontend send to your backend?
- What request did your backend construct and send to Stripe?
- What response did Stripe return?
- How did your backend process that response?
- What error (if any) made it back to the user?
Without this runtime context, the AI is pattern-matching.
The irony is that the data AI needs often exists, it's just scattered and difficult to access.
Auto-correlation tools like Multiplayer automatically capture and link data across your entire stack: frontend interactions, backend traces and logs, and end-to-end request/response headers and content from internal service and external API calls. This data becomes the foundation for effective AI-assisted debugging.
The post reads "The Claude Agent SDK excels at code generation..." and then provides a snippet where variable names don’t match (isEmailUrgnet and then isUrgent), misspelling of urgent, and an unnecessary second check of isFromCustomer. I don't know if it would be worse if this were generated using Claude code or by a human.
It connects to your system using OpenTelemetry and it lets you automatically document all the components, dependencies, APIs, etc. I prefer it to static, drag and drop whiteboards because I get immediate visibility without having to waste time moving boxes and arrows.
(Of course you can still create sketches if you want, but the real value is in getting the information you need immediately)
Thank you, but by that argument, I could that for any diagramming / whiteboarding tool. The point is having a tool that reduces work for me and does these things automatically.
The problem with any of these tools is that they solve only one part of the puzzle. Take Structurizr for example, it doesn't automatically create the diagrams for you or notify you when it detects architectural drift (and automatically update the diagram).
Others miss other pieces of the puzzle, such as having a list all your APIs, all your system docs in a single place (ADRs, reqs, etc.), connecting to your repos, etc.
I don't think the issue is with diagrams per se, but with how we create them. They are super helpful in conveying meaning but why do we need to create and update them manually?
This is an excellent point. You need to pull all the information about a system in a single place so that then you can choose what level of abstraction or deep dive into the details you need.
Projects like Multiplayer.app are in their early days, but I can see the potential of focusing on concentrating this info and automating the maintenance of docs and diagrams.
Excalidraw is great for brainstorming and sketching. But I don't exclude pairing it with a tool that also automatically shows me all the metadata of system components, automatically detects architecture drift, etc.
.. but they are manual. It's great to have history, diff, comments, etc. But why do I have to spend time manually creating a diagram and updating it every time I add a new dependency when it can be automatically done for me?
Check out https://www.multiplayer.app/
The author is one of the co-founders, but I understand not wanting to just promote his tool and just have a conversation about the problem.
There are quite a few tools cropping up trying to solve this problem. Multiplayer.app is one example - they use OTel to gather distributed traces from your system and ensure you automatically get notified when there's drift.
The article does indeed argue that we need smarter ways to create diagrams - so that devs don't have to manually create / update them and other teams get the info that they need.
Saving time and effort for devs, while making dynamic visualizations with different levels of detail (i.e. more and less technical for different audiences) is possible.
I agree that many teams, in an effort to move away from waterfall development and Big Design Up Front, have gone the opposite way and completely skip system design. Which is a mistake, because you need some upfront design.
As Dave Thomas said: “big upfront design is dumb. No upfront design is dumber”.
It’s when debugging (understanding what went wrong) takes longer than fixing because the information is in a bunch of different places: Sentry, Stripe, LogRocket and several APM tools.
So engineers spend hours playing detective: copying request IDs between tools, matching timestamps, manually piecing together what happened.
Most teams lose hundreds of engineering hours per month to correlation tax. Time that could be spent shipping features instead of hunting for information.