I've had an idea I've been mulling over the past couple weeks and wanted to get feedback on whether the problem extends beyond myself.
The idea: Make a visually pleasant platform for designing & documenting your technical architecture & tech stack where changes are documented and transparent, sharing is available both within your team and to the public, and where commentary is inviting and contextual.
I frequently find myself making diagrams on various platforms (lucid charts & google slides mostly) to explain changes to our technical infrastructure and needing to re-reference them for myself as i make new changes, but also to onboard new engineers (which always ends up being a bit of a mess). I personally would love a visual representation of my tech stack where i can drill down and see the connections, and rationale behind the decisions. In many ways I actually think my mission is similar to that of stackshare except that i don't find seeing a list of the tools a company uses as useful as seeing how they are used and then contextually why they made that decision. That's why in my idea as well I would like to have the option to publicly represent your stack for questions and feedback except where stackshare focuses on sharing first (something not everyone is comfortable with) I am focusing on getting the knowledge distributed on your team first.
So what do you think? Is this a real problem? And if this doesn't apply to you I'd also love feedback on how to assess whether this problem is real or not better! Thank everyone!
Hi @aiyer,
This is definitely a problem faced by multiple companies. There are a few attempts at solving it, but most fall short in various aspects.
Ideally a visual representation of the architecture should be in sync with the the actual architecture. It's easy for early stage startups to draw architecture diagrams, add to a documentation reference, but the diagram doesn't get updated as the architecture evolves. Developers should be able to connect the diagram to their prod environment and have the diagrams always in sync automatically.
Moreover, developers / devops generally do not like drawing diagrams and dragging and dropping icons across the screen, basically doing design work. The ideal solution should parse some sort of configuration file and generate the graph from it; a great example is the C4 Model (https://c4model.com/).
Future developments can include exporting the diagrams to Terraform, CloudFormation or Serverless. Major architecture design decisions are usually taken as a team, drawing on a whiteboard or using collaborative tools online. Afterwards the developers have to write it down as Infrastructure as Code. Skipping this step and going straight from the diagrams to infrastructure code will be a time saver.
Finally, the cost implications of the infrastructure change / design always come up. Cloud providers are not always clear with pricing. There are tools out there to estimate cost, but it's just one more thing to do, far away from building the product our users love.
In summary, this is a problem worth solving in my opinion and in an ideal world, the solution should:
I understand this is way beyond the scope of a v1.
Best of luck if you decide to build this!!
Hey, I really appreciate this thorough and thoughtful reply. Makes me really glad to join the community.
I think you pointed out some key pain points in your list up there! And yeah I agree a lot is probably out of the scope for an MVP. For now I still think there isn't a great tool for documenting architecture in an easy way that developers are willing to spend any time on making, reading, or understanding. I'm thinking of a way to use README files with some special syntax to generate something like a C4model. Not automated but still in line with software engineering practices.
I know this is a problem Id love to see solved for myself which encourages me to go through with building.