Skip to content

design-patterns

17 posts

design-patterns
Lambda Durable Functions vs Step Functions: When the Orchestrator Belongs in Your Code

Lambda durable functions put the orchestrator in your TypeScript. Reach for them when you own the whole workflow; keep Step Functions for cross-team state machines.

lambda · step-functions · serverless +1

Code Architecture by Init Amortization: Lean on Lambda, Heavy Only When Earned

Match architecture weight to each runtime's init-amortization: lean handlers on single-purpose Lambda, more on a Lambdalith, full OOP/DI only on long-lived runtimes.

architecture · lambda · serverless +3

Optimistic UI vs Decoupled Flows: UX Patterns for Async Backends

A pragmatic guide for designers working with async backends: three interaction patterns, when to use each, and four anti-patterns to push back against.

event-driven · state-management · design-patterns +2

SOLID Principles in JavaScript: Practical Guide with TypeScript and React

How SOLID principles apply to modern JavaScript: practical examples with TypeScript, React hooks, and functional patterns, plus when they're overkill.

typescript · javascript · react +4

Learning Effect: A Practical Adoption Guide for TypeScript Developers

A practical guide to learning Effect incrementally and integrating it with AWS Lambda, with real code examples, common pitfalls, and production patterns.

typescript · functional-programming · lambda +4

Transactional Outbox Pattern: Reliable Event Publishing in Distributed Systems

Learn how the Transactional Outbox Pattern solves the dual-write problem in distributed systems, with practical implementations using PostgreSQL, DynamoDB, and CDC tools.

distributed-systems · microservices · event-driven +5

AI Agent Architecture Patterns: ReAct, Plan-and-Execute, Multi-Agent

The architectural evolution from rule-based chatbots to autonomous AI agents, covering ReAct, Plan-and-Execute, and multi-agent patterns in TypeScript.

ai-agents · llm · architecture +2

Saga Pattern for Distributed Transactions: Maintaining Consistency Without ACID

Implement the Saga pattern across microservices with AWS Step Functions and EventBridge, covering idempotency, compensation logic, and production patterns.

design-patterns · distributed-systems · microservices +4

Behavioral Design Patterns in TypeScript: Observer, Strategy, Command, State4/4

Observer, Strategy, Command, State, and Mediator in TypeScript: which ones the language already covers, and when RxJS, Redux, or XState earn their place.

typescript · design-patterns · functional-programming +1

Creational Design Patterns in TypeScript: Singleton, Factory, Builder, Prototype3/4

How Singleton, Factory, Builder, and Prototype patterns evolved in TypeScript: when ES modules replace singletons and when factory functions beat classes.

typescript · design-patterns · architecture +1

Modern React and TypeScript Design Patterns Beyond the Gang of Four2/4

Modern patterns from the JavaScript and TypeScript ecosystems - hooks, compound components, render props, and repositories that solve problems the GoF never faced.

typescript · react · design-patterns

Structural Design Patterns in React and TypeScript1/4

How Decorator, Adapter, Facade, Composite, and Proxy patterns evolved in React and TypeScript: when HOCs give way to hooks and how adapters isolate third-party APIs.

typescript · react · design-patterns +2

Builder Pattern in TypeScript: Type-Safe Configuration Across Modern Applications

How the Builder pattern uses TypeScript's type system for safe, discoverable APIs across serverless, data layers, and testing, with working examples.

typescript · design-patterns · aws-cdk +2

Middy and Zod: Type-Safe AWS Lambda Middleware Validation

Build maintainable, type-safe Lambda middleware with Middy's builder pattern, Zod validation, feature flags, and secrets management for serverless apps.

lambda · middleware · typescript +7

Domain-Driven Design: Introduction and Fundamentals

A comprehensive introduction to Domain-Driven Design: core concepts, building blocks, strategic patterns, and when and how to apply DDD in practice.

domain-driven-design · architecture · design-patterns +2

AWS Fargate Production Patterns: Cost, Monitoring, Blue-Green1/1

Advanced Fargate patterns learned from running production workloads. From cost optimization to stateful containers, here's what the docs won't tell you.

aws · fargate · ecs +4

Circuit Breaker Pattern: Building Resilient Microservices That Don't Cascade Failures

Implementing the Circuit Breaker pattern in TypeScript: three states, timeout sizing against P99 latency, and threshold defaults per dependency type

architecture · design-patterns · reliability +1