I should probably learn C4, however, I’ve been having a great time just drawing arrows between squares with draw.io, labelling things as I see fit, without any real ruleset. This is how I generally design any larger feature and present it to the team. It seems to be well received, and being able to reference the initial architecture diagram when I want to remember how some particular system works is extremely useful. I think these diagrams risk becoming impenetrable and unpleasant to work with if they become too beset with rules and arcane visual language (see UML).