com um clique
sysdesign-interview-flow-50min
Use when approaching a new system design — a 50-minute flow (requirements → API → data model/arch → deep dive → monitoring) that doubles as a spec-authoring template.
Menu
Use when approaching a new system design — a 50-minute flow (requirements → API → data model/arch → deep dive → monitoring) that doubles as a spec-authoring template.
Use when the user mentions system design, scalability, distributed systems, latency, throughput, availability, CAP theorem, database design, caching, rate limiting, CDN, microservices, SLA, NFR, capacity planning, bottleneck, message queue, or any topic related to large-scale system architecture and infrastructure design. Fires independently of compose to ensure matilha-sysdesign-pack skills activate whenever system design domain appears.
Use when designing autocomplete / search suggestions — weighted trie for top-k prefix matches, query sampling, fuzzy matching, and pre-serve moderation.
Use when serving images, video, or downloads globally — places a CDN in front of an object store, names invalidation strategy, and handles private-content auth.
Use when handling message failures in a queue or stream — installs a DLQ with retry policy, backoff, alerting on growth, and a reprocess-after-fix flow.
Use when a design writes to two stores on one action (DB + Kafka, DB + cache, DB + search) or when deciding whether event sourcing is worth its complexity.
Use when deciding between Kafka and a simpler queue — picks Kafka for decoupling, ordered delivery, and replay, or rejects it for low-volume point-to-point work.
| name | sysdesign-interview-flow-50min |
| description | Use when approaching a new system design — a 50-minute flow (requirements → API → data model/arch → deep dive → monitoring) that doubles as a spec-authoring template. |
| category | sysdesign |
| version | 1.0.0 |
| requires | [] |
| optional_companions | [] |
Fires on "how do I structure a system design review?", "como estruturar uma spec técnica?", "I have 50 minutes to design X", "estamos abrindo um desenho novo — por onde começo?", and on any fresh system design prompt where no framework is already in play. Although the flow comes from interview prep, it is load-bearing for real work: a team that runs this flow for a new service ends up with a better spec than one that dives straight into boxes-and-arrows. The skill enforces the five phases in order, with a time budget per phase that prevents the common failure mode — spending 40 minutes on the "fun" data model and 5 minutes on requirements.
sysdesign-nfr-clarification if present. By the end of this phase,
the board has: 3-7 functional requirements, a first-pass answer on
scalability / availability / latency / consistency / cost, and any
assumption explicit in writing. If phase 1 takes less than 8
minutes, you did not ask enough; if more than 15, force a timebox.After this skill, any new system design session produces a five-part artifact in roughly 50 minutes: requirements, API, data+arch, deep-dive, and monitoring/edge cases. Time pressure stops being an excuse for skipping observability. The team has a common vocabulary for what "done enough for first review" means.
In interview settings, the candidate avoids the two classic failures (all-whiteboard no-requirements, or five minutes of everything with no depth) and lands a deep-dive phase that earns the grade.
Delegates phase 1's NFR half to sysdesign-nfr-clarification. Hands
phase-4 decisions to the pattern skills (sysdesign-newsfeed-fanout,
sysdesign-autocomplete-trie-fuzzy, sysdesign-top-k-count-min-sketch,
sysdesign-dual-write-event-sourcing, etc.) when applicable. Phase-5
observability delegates to sysdesign-monitoring-4-golden-signals.
When matilha core is present, this flow composes naturally with
matilha-plan in phase 20-30 (spec + plan authoring). Methodology
phase: 20-30 primarily; 10 for discovery when the design doubles as
a feasibility probe.
sysdesign-nfr-clarification, persisting the
spec dated.A team opens a 50-minute design session for a usage-metering service
that bills customers on API calls. Phase 1 (11 min) surfaces four
functional requirements (count, aggregate, expose, bill-export) and
NFR pressure on accuracy, idempotency, and 24-hour data retention
with eventual consistency on roll-ups. Phase 2 (4 min) sketches two
endpoints: POST /events and GET /aggregates/:customer/:window.
Phase 3 (9 min) picks Kafka + a time-series store for raw events,
Postgres for daily roll-ups, and a stream processor between them.
Phase 4 (17 min) deep-dives on the stream processor — exactly-once
semantics, checkpointing, late event handling, and a count-min
sketch for approximate live view (delegated to
sysdesign-top-k-count-min-sketch patterns). Phase 5 (9 min) names
monitoring (ingestion lag, processor backlog, roll-up divergence)
and failure cases (Kafka outage, processor crash, DB write
rejection). A two-minute self-summary lists three things not solved:
cross-region replication, retention-based cost bounds, and
customer-tier-specific SLOs. The spec is one page, dated, signed,
and in the repo before the hour is up.
[[concepts/nfr-system-design]] — 50-min interview flow section[[concepts/design-cases]] — pattern across all 11 cases