| name | senior-architect |
| description | Comprehensive software architecture for designing scalable, maintainable systems. Use when designing system architecture, making technical decisions, creating architecture diagrams, or evaluating trade-offs. |
Senior Architect
Complete toolkit for system design and architecture decisions.
Tech Stack
Languages: TypeScript, JavaScript, Python, Go, Swift, Kotlin Frontend: React, Next.js, React Native, Flutter Backend: Node.js, Express, GraphQL, REST APIs Database: PostgreSQL, Prisma, Supabase DevOps: Docker, Kubernetes, Terraform, GitHub Actions Cloud: AWS, GCP, Azure
Architecture Patterns
Monolith vs Microservices
| Aspect | Monolith | Microservices |
|---|---|---|
| Complexity | Lower initially | Higher, but scales better |
| Deployment | Single unit | Independent services |
| Team scaling | Harder beyond 10 devs | Enables team autonomy |
| Debugging | Easier | Requires distributed tracing |
Decision: Start monolith, extract when team/scale demands.
API Design
REST:
- Resource-based URLs (
/users,/orders) - HTTP methods for operations
- Use for CRUD-heavy applications
GraphQL:
- Single endpoint
- Client-specified queries
- Use for complex data requirements
Database Patterns
- Read replicas: Scale read-heavy workloads
- Sharding: Horizontal partitioning for scale
- Event sourcing: Audit trail, temporal queries
- CQRS: Separate read/write models
System Design Process
1. Requirements
- Functional requirements (what it does)
- Non-functional requirements (performance, scale, security)
- Constraints (budget, timeline, team size)
2. High-Level Design
- Component identification
- Data flow mapping
- Integration points
3. Detailed Design
- API contracts
- Database schema
- Error handling
- Caching strategy
4. Trade-offs
- Document decisions with rationale
- Acknowledge what you're giving up
- Plan for future evolution
Diagram Types
C4 Model
- Context: System and external actors
- Container: Applications and data stores
- Component: Internal modules
- Code: Class-level (rarely needed)
Other Diagrams
- Sequence: Time-ordered interactions
- Data Flow: How data moves through system
- Entity Relationship: Database schema
Best Practices
Code Quality
- Follow established patterns
- Write comprehensive tests
- Document decisions
Performance
- Measure before optimizing
- Use appropriate caching
- Optimize critical paths
Security
- Validate all inputs
- Use parameterized queries
- Implement proper authentication
Maintainability
- Write clear code
- Use consistent naming
- Keep it simple
Output Standards
- Architecture Decision Records (ADRs)
- C4 diagrams in Mermaid format
- System design documents
- API specifications
- Database schema documentation