Open Source
CleanArchitecture.Extensions
Creator and MaintainerThis project is relevant when clients need a developer who can improve architecture, not just add features.
Overview
CleanArchitecture.Extensions is an open-source NuGet ecosystem I created to extend Jason Taylor's Clean Architecture template without forking it. The goal was to add production-grade backend building blocks while preserving the template's structure and adoption path.
This project shows my architecture work at the library/package level, not only at the application level.
What The Project Needed
Teams using Clean Architecture often repeat the same cross-cutting work across projects:
The project needed these capabilities to be reusable, dependency-light, testable, and easy to adopt incrementally.
- Logging and correlation IDs
- Validation behavior
- Exception mapping
- Result handling
- Guard clauses
- Performance monitoring
- Caching
- EF Core domain-event dispatch
- Test-friendly time abstractions
My Backend Work
I designed and built reusable .NET packages that plug into application pipelines without forcing teams to rewrite handlers or fork the template.
Key work included:
- MediatR pipeline behaviors for logging, validation, exceptions, and performance
- Correlation ID and trace propagation
- Rich Result and Result<T> primitives
- Guard clauses and deterministic error handling
- Catalog-driven exception mapping with redaction
- Cache-aside abstractions with deterministic cache keys
- Stampede protection and jittered expirations
- EF Core domain-event dispatch support
- IClock abstractions for deterministic testing
- Documentation, samples, SourceLink, symbols, CodeQL, and CI/CD publishing workflows
Technical Highlights
- Backend stack: C#, .NET, MediatR, EF Core, NuGet
- Architecture: Clean Architecture, pipeline behaviors, Result pattern, domain events
- Reliability: redaction, stable error codes, performance thresholds, cache guards
- Testing: deterministic clocks, in-memory contexts, package-level test coverage
- Delivery: documentation, samples, CI/CD, SourceLink, symbols, CodeQL
Why This Project Is Relevant
This project is relevant when clients need a developer who can improve architecture, not just add features.
It is useful for clients who need:
It demonstrates that I can design reusable backend primitives that help a team write clearer and safer application code.
- Clean Architecture adoption or cleanup
- .NET library/package design
- MediatR pipeline behaviors
- Validation and exception handling
- Result-based workflows
- Caching patterns
- Domain-event infrastructure
- Production-quality reusable backend code


