- Define the scope and draw the boundary
Before drawing components, draw a boundary box for the system scope. What's inside the system and what's external? Label external systems at the edges — third-party APIs, user browsers, mobile clients, partner services. The boundary prevents the diagram from expanding indefinitely.
- Draw the major components
Each major component — service, database, cache, queue, CDN, load balancer — gets a labeled box or icon. Write the component name and, in smaller text below, the technology: 'Auth Service / Node.js,' 'User DB / PostgreSQL,' 'Cache / Redis.' Technology labels are essential for the documentation output.
- Draw the connections with protocol labels
Arrows between components show connections. Label each arrow with the protocol or mechanism: 'REST/HTTPS,' 'gRPC,' 'WebSocket,' 'SQS message,' 'SQL query,' 'TCP.' Unlabeled arrows are meaningless in an architecture diagram — they show that something connects but not how.
- Mark deployment zones
Group components by deployment zone with a dashed box or a different background region. Zones might be: 'Public subnet,' 'Private subnet,' 'On-premises,' 'CDN edge,' 'Mobile client.' Label each zone. This information is critical for security and networking documentation.
- Mark scaling and redundancy
For components that have redundancy or auto-scaling, mark them: 'Auto-scales 2-20 instances,' 'Multi-region: us-east-1, eu-west-1,' 'Active-passive failover.' These notes are often missing from architecture docs and are essential for operations teams.
- Add traffic flow direction
For each major user action or data flow, draw a numbered path through the architecture. Number 1 = API request; number 2 = auth check; number 3 = database query; etc. These numbered paths are how engineers explain the system. BoardSnap reads them as named flows.
- Snap the board
Open BoardSnap. Step back far enough to get all components in frame. Complex architectures may require two snaps — one for the full overview and one for a zoomed section. BoardSnap AI reads component names, technology labels, connection protocols, deployment zones, and numbered flows.