Chris Woodruff, or as his friends call him Woody, is a software developer and architect of over 25 years. Woody loves software engineering, especially allowing applications and services to communicate across networks and through Web APIs. He has been a Microsoft MVP in SQL, Data and C# in the past, along with multiple years of being awarded the AWS Community Builder Award. Woody lives in Grand Rapids, Michigan, where he explores the many breweries in West Michigan and travels with his family. Woody is also a long-time bourbon fan and loves hunting for whiskey bottles.!
-
👯 I’m looking to collaborate on more open-source projects.
-
💬 Ask me about Web APIs, Network Programming, Leadership, .NET, Relational Databases, EF Core, Open Source etc.
-
📫 How to reach me:
-
😄 Pronouns: he/him
-
⚡ Fun fact: I love bourbon 🥃
- Systems Thinking Meets Simplicity-First: A Decision Framework for Software Architects
2026-01-23 — Modern technology operates in a paradox. Our tools have never been more powerful, yet our systems have never felt more fragile. Every framework, pipeline, an... - Enterprise Patterns for ASP.NET Core Minimal API: Data Transfer Object Pattern
2026-01-19 — Your domain model exists to protect your business rules.Your API exists to protect your clients. When you expose EF Core entities directly from your ASP.NET ... - Stop Building SPAs for Every Screen: htmx + ASP.NET Core Razor Pages Workshop (Open)
2026-01-14 — If your default move for “modern UX” is a SPA, you are paying a tax you do not need. You pay for it in build pipelines, duplicated validation rules, fragile ... - Enterprise Patterns for ASP.NET Core: Front Controller and MVC Pattern
2026-01-11 — If every controller in your system does its own authentication, logging, and error handling, you do not have an architecture. You have a crowd of small frame... - Enterprise Patterns for ASP.NET Core Minimal API: Lazy Load Pattern
2026-01-08 — If a single endpoint pulls half your database just to render a small card on a mobile screen, your problem is not the database. Your problem is that you are ... - Enterprise Patterns for ASP.NET Core Minimal API: Identity Map Pattern
2026-01-06 — If one customer quietly turns into three different in-memory objects during a single request, your domain is already lying to you. You see it when: The Ident... - Enterprise Patterns for ASP.NET Core Minimal API: Unit of Work Pattern
2025-12-30 — If a single business operation calls SaveChangesAsync three times, you do not have a transaction. You have a sequence of partial commits that you hope never ... - Enterprise Patterns for ASP.NET Core Minimal API: Repository Pattern
2025-12-29 — If DbContext shows up in every corner of your codebase, you do not have a domain model. You have a thin layer of LINQ wrapped in HTTP. You see it when: A tin... - Enterprise Patterns for ASP.NET Core Minimal API: Data Mapper Pattern
2025-12-19 — If every interesting class in your system secretly knows a connection string, your domain is not a model. It is a thin layer of code on top of a data access ... - Enterprise Patterns for ASP.NET Core Minimal API: Active Record Pattern
2025-12-15 — Sometimes, your domain is really just rows in a table. You have a Customers table with Id, Email, and CreditLimit.You load a row, tweak a field, and write it...
- Release v1.24.1
2026-01-23 — cwoodruff/morespeakers-com




