Skip to main content

AppMod Catalog Blueprints

Build customizable, well-architected applications on AWS in minutes, not months.

GitHub Construct Hub Documentation npm version npm downloads PyPI version PyPI downloads NuGet version NuGet downloads Maven version

Application Modernization (AppMod) Catalog Blueprints is a comprehensive library of use case-driven infrastructure blueprints and industry-aligned solutions built on AWS Well-Architected best practices. Designed as composable, multi-layered AWS CDK L3 constructs, these blueprints accelerate serverless development and modernization with multiple implementation pathways — from ready-to-deploy solutions to fully customizable building blocks.

Why This Library?

  • Use case-driven: Purpose-built for real business problems — AI workflows, document processing, event-driven architectures, web applications
  • Multi-layered approach: Infrastructure Foundation → General Use Cases → Industry Solutions — start with proven patterns, customize as needed
  • Composable architecture: Mix and match independent components with standardized interfaces
  • Enterprise-ready security: Built-in compliance, encryption, least-privilege IAM, and CDK Nag validation
  • Multi-language: TypeScript, Python, Java, .NET via JSII

MCP Server for AI-Assisted Development

Use the AppMod Catalog Blueprints directly from your AI coding assistant. The MCP Server exposes construct scaffolding, composition, and example discovery via the Model Context Protocol, so tools like Kiro, Claude Code, and Codex can generate CDK code with the right props, defaults, and dependency wiring.

See the MCP Server README for setup instructions.

Deploy in 3 Commands

How to Use This Library

Pick any solution from the catalog below and deploy:

git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
cd cdk-appmod-catalog-blueprints/examples/chatbot/customer-service-chatbot # or any other example
npm install && npm run deploy

That's it. In this example, you now have a well-architected AI chatbot with streaming, authentication, and a React frontend. Swap the path for any other solution — fraud detection, document processing, RAG support, and more.


Two Ways to Use This Library

ApproachBest ForGet Started
🚀 Deploy a SolutionQuick evaluation, immediate value, proof-of-conceptsPick from ready-to-deploy solutions below — deploy in minutes with sensible defaults
🔧 Build CustomSpecific requirements, enterprise integration, tailored applicationsUse individual constructs — import into your CDK project, override defaults, inject custom logic

What You Can Build

AI Chatbots & Assistants

SolutionWhat It DoesConstructs Used
Customer Service ChatbotReal-time chatbot with streaming and session managementInteractiveAgent, Frontend
Retail Banking ChatbotBanking chatbot with RAG knowledge base and transaction lookupInteractiveAgent, BedrockKnowledgeBase, Frontend
Retail Banking Chatbot (AgentCore)High-availability banking bot on AgentCore RuntimeInteractiveAgent, BedrockKnowledgeBase
RAG Customer SupportKnowledge-powered Q&A for e-commerce supportBatchAgent, BedrockKnowledgeBase

Intelligent Document Processing

SolutionWhat It DoesConstructs Used
Insurance Claims PortalEnd-to-end claims processing with web UIAgenticDocumentProcessing, Frontend
Fraud DetectionAI-powered document fraud analysis with risk scoringAgenticDocumentProcessing
Document SummarizationMulti-format summarization with semantic searchBedrockDocumentProcessing
Agentic Document ProcessingAdvanced document processing with AI reasoningAgenticDocumentProcessing
Bedrock Document ProcessingDocument classification and extraction pipelineBedrockDocumentProcessing
Minimal Document ProcessingZero-config document processing starterBedrockDocumentProcessing

Building Blocks

Use individual constructs to build custom applications:

npm install @cdklabs/cdk-appmod-catalog-blueprints
import { InteractiveAgent } from '@cdklabs/cdk-appmod-catalog-blueprints';
import { Asset } from 'aws-cdk-lib/aws-s3-assets';

new InteractiveAgent(this, 'MyChatbot', {
agentName: 'support-bot',
agentDefinition: {
bedrockModel: { useCrossRegionInference: true },
systemPrompt: new Asset(this, 'Prompt', { path: './prompt.txt' }),
},
});

Available Constructs

ConstructWhat It Does
InteractiveAgentReal-time chatbots with SSE streaming, sessions, and auth
BatchAgentAsync AI processing for document analysis
BaseAgentAbstract base for custom agent implementations
AgenticDocumentProcessingDocument workflows with AI agents and tools
BedrockDocumentProcessingDocument classification and extraction
BaseDocumentProcessingAbstract base for custom document processing
BedrockKnowledgeBaseRAG retrieval with access control
FrontendStatic web hosting with CloudFront CDN

Foundation & Utilities

ComponentWhat It Does
NetworkVPC with subnets and endpoints
ObservabilityLogging, tracing, monitoring with Lambda Powertools
DataMaskingPII protection Lambda layer

Architecture

How It Works

┌─────────────────────────────────────────────────────────────────────┐
│ Your Application │
├─────────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Interactive │ │ Batch │ │ Document │ │ Frontend │ │
│ │ Agent │ │ Agent │ │ Processing │ │ (React) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
├─────────┼────────────────┼────────────────┼────────────────┼────────┤
│ │ │ │ │ │
│ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐ │
│ │ Bedrock │ │ Step │ │ Lambda │ │ CloudFront │ │
│ │ + Cognito │ │ Functions │ │ + S3 │ │ + S3 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ Foundation (Network, Observability) │
└─────────────────────────────────────────────────────────────────────┘

Multi-Layered Design

The library uses a multi-layered architecture that bridges business requirements and technical implementation:

LayerWhat It IsPurpose
Infrastructure FoundationAbstract base classes (BaseAgent, BaseDocumentProcessing)Standardized interfaces and contracts — extend for custom implementations
General Use Case ImplementationConcrete classes (InteractiveAgent, BedrockDocumentProcessing)Configurable implementations for common patterns — use directly or extend
Industry-Aligned SolutionsDeployable examples (examples/)Pre-configured for specific domains (insurance, banking, e-commerce) — deploy as-is or use as reference

Composable Architecture

Build complex systems by combining independent, reusable components:

  • Independent components with clear interfaces and loose coupling
  • Mix and match constructs across different contexts and use cases
  • Pluggable strategies for networking, observability, and event handling
  • Scalable composition — incremental adoption and gradual modernization

Getting Started

Prerequisites

# Configure AWS credentials
aws configure
# OR: export AWS_PROFILE=your-profile-name

# Bootstrap CDK (one-time per account/region)
npx cdk bootstrap

Option 1: Deploy a Solution

git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
cd cdk-appmod-catalog-blueprints/examples/chatbot/customer-service-chatbot
npm install && npm run deploy

Option 2: Use Constructs in Your Project

npm install @cdklabs/cdk-appmod-catalog-blueprints
import { InteractiveAgent } from '@cdklabs/cdk-appmod-catalog-blueprints';
import { Asset } from 'aws-cdk-lib/aws-s3-assets';

new InteractiveAgent(this, 'MyChatbot', {
agentName: 'my-bot',
agentDefinition: {
bedrockModel: { useCrossRegionInference: true },
systemPrompt: new Asset(this, 'Prompt', { path: './prompt.txt' }),
},
});

Security & Compliance

All constructs include enterprise-grade security by default:

FeatureWhat You Get
CDK Nag IntegrationAutomated security compliance checking
AWS Well-ArchitectedSecurity, reliability, and performance best practices
EncryptionKMS at rest, TLS in transit — always on
IAMLeast-privilege, resource-scoped permissions
Compliance ReportsGenerate with npm test -- --testPathPattern="nag.test.ts"

Documentation


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Disclaimer

These solutions are examples to help you build applications, not supported products. Any applications you build should be thoroughly tested, secured, and optimized according to your security standards before production use.

License

Apache License 2.0 — see LICENSE for details.