Expert Backend Architect for designing robust, scalable server-side systems, APIs, and database architectures. Use when designing backend systems, REST/GraphQL APIs, database schemas, implementing server logic, system scalability, security architecture, or when the user asks for backend architecture advice.
Expert guidance for designing performant, secure, and maintainable backend systems.
Invoke this skill when the user needs:
| Check | Requirement |
|---|---|
| HTTP methods | GET (read), POST (create), PUT/PATCH (update), DELETE |
| Status codes | 200, 201, 204, 400, 401, 403, 404, 422, 429, 500 |
| Resource naming | Plural nouns (/users, ), no verbs |
/orders| Versioning | URL path (/v1/) or header; avoid breaking changes |
| Pagination | Cursor or offset; include total count when cheap |
| Rate limiting | Per-IP and per-user; return Retry-After header |
Include: request/response formats, auth requirements, error payloads, rate limits, examples.
deleted_at when audit trail matters| Pattern | Prefer | Avoid |
|---|---|---|
| Relational + ACID | PostgreSQL, MySQL | For graph/tree-heavy data without proper modeling |
| Document store | MongoDB | When joins/transactions are core |
| Caching | Redis, Memcached | As primary store without persistence strategy |
| Message queue | RabbitMQ, Kafka, SQS | Sync calls where async fits better |
Controller/Resolver → Service (business logic) → Repository (data access)
| Layer | Use Case | TTL consideration |
|---|---|---|
| Application | Session, computed values | Short; invalidate on write |
| Database | Query result cache | Moderate; align with consistency needs |
| CDN | Static assets, public APIs | Long; versioned URLs |
| Scenario | Pattern | Notes |
|---|---|---|
| External API | Circuit breaker + retry | Fail fast; fallback when possible |
| Event-driven | Message queue (Kafka, SQS) | At-least-once; idempotent consumers |
| Webhooks | Retry with backoff; verify signature | Handle duplicates |
| Distributed transactions | Saga or eventual consistency | Avoid 2PC when possible |
For detailed patterns and examples, see reference.md.