A curated collection of resources on software design — with a focus on Domain-Driven Design, distributed systems architecture, and the craft of building well-structured, maintainable software.
This repository includes automation for maintaining the knowledge base:
web-resource-crawleragent (.claude/agents/) — Crawl blog sites and generate structured summaries organized into thematic clusters/askskill (.claude/skills/) — Query the knowledge base with natural language (e.g.,/ask tech debt,/ask bounded contexts)
This knowledge base exists thanks to practitioners who generously share their insights publicly. Thank you to Mathias Verraes, Dan North, and Oskar Dudycz for writing openly about software design, architecture, and the craft of building better systems. Your willingness to document hard-won lessons, challenge conventional wisdom, and teach through real examples makes the entire field better.
Summaries and analyses of writing by practitioners in the field, organised by author and clustered by theme.
| Author | Description |
|---|---|
| Mathias Verraes | ~122 posts (2011–2025) covering DDD, Event Sourcing, CQRS, bounded contexts, messaging patterns, modelling theory, and software engineering practice |
| Dan North | ~91 posts (2006–2025) covering BDD, agile delivery, testing, estimation, software design, learning models, and organizational effectiveness |
| Oskar Dudycz / Architecture Weekly | ~66 original articles (2020–2026) covering event-driven architecture, distributed systems, PostgreSQL, Kafka internals, messaging patterns, observability, and pragmatic software engineering |