Browse by type
DevGenius turns a plain-language idea into a complete, ready-to-deploy AWS solution: an architecture diagram, a cost estimate, infrastructure as code in CloudFormation, CDK, and Terraform, and full technical documentation. It is an AI application built on Amazon Bedrock, grounded in current information through the Amazon Bedrock AgentCore managed Web Search tool.
v2 rewrite. The UI is a professional React + Cloudscape single-page app (replacing the original Streamlit app), the backend is fully serverless, and the old Bedrock Knowledge Base + OpenSearch retrieval has been replaced by the AgentCore Gateway web-search connector. The only external data dependency is web search - everything else runs in your account.
┌───────────────────────────────────────────────┐
Browser (SPA) │ AWS account │
React + Cloudscape │ │
│ │ CloudFront (OAC) ─── S3 (static site) │
│ Cognito login │ │
├────────────────▶│ Cognito User Pool │
│ ID token │ │
│ (Bearer JWT) │ API Gateway (HTTP API, JWT authorizer) │
└────────────────▶│ │ │
│ ▼ │
│ Lambda (Python) ─── DynamoDB (conversations, │
│ async job worker sessions, feedback, │
│ Bedrock Converse jobs) │
│ + streaming ─── S3 (artifacts) │
│ │ web_search tool │
│ ▼ │
│ AgentCore Gateway ─── managed web-search │
│ (MCP, AWS_IAM) connector │
│ │ │
│ ▼ │
│ Amazon Bedrock (Claude) │
└───────────────────────────────────────────────┘
chat and generate run as async jobs: the request returns
a jobId immediately, a background Lambda does the work and streams partial
output, and the client polls for the result.web_search. It continues past token limits so long artifacts
finish completely.web-search
connector target. The Lambda calls it over MCP (SigV4-signed) whenever the
model requests a search. This fully replaces the Knowledge Base + OpenSearch.aws configure or SSO).npx cdk).us.anthropic.claude-sonnet-4-6) in the deployment Region.us-east-1)../deploy.sh
This installs dependencies, builds the SPA, bootstraps the environment, and deploys the stack. When it finishes, open the AppUrl output, sign up with an email, confirm the code, and start building.
Options:
STACK_NAME=my-devgenius ./deploy.sh # custom stack name
CDK_DEPLOY_REGION=eu-west-1 ./deploy.sh # supported Region
Override the model:
npx cdk deploy -c stackName=dev-genius-stack -c modelId=us.anthropic.claude-sonnet-4-6
The SPA reads its configuration at runtime from /config.json. After a deploy,
copy the stack outputs into frontend/public/config.json:
cp frontend/public/config.example.json frontend/public/config.json
# edit region, userPoolId, userPoolClientId, apiUrl
cd frontend && npm install && npm run dev
npx cdk destroy -c stackName=dev-genius-stack
This removes all resources created by the stack, including the DynamoDB tables and S3 buckets (auto-delete is enabled). This is irreversible.
├── deploy.sh # one-click build + deploy
├── cdk.json # CDK entry (lib/index.ts)
├── lib/
│ ├── index.ts # the entire serverless stack
│ └── lambda/api/ # backend Lambda (Python)
│ ├── handler.py # API router + async job worker
│ ├── bedrock.py # streaming Converse loop with the web_search tool
│ ├── websearch.py # AgentCore Gateway MCP client (SigV4)
│ ├── prompts.py # system + artifact prompts
│ └── storage.py # DynamoDB + S3 helpers (ET timestamps)
└── frontend/ # React + Cloudscape SPA
├── src/
│ ├── App.tsx # auth shell + top navigation
│ ├── Console.tsx # layout: history sidebar, chat, artifacts panel
│ ├── api.ts # backend client (bearer ID token, job polling)
│ ├── config.ts # runtime config loader
│ └── components/ # ChatArea, ConversationList, ArtifactsPanel,
│ # DiagramViewer, Markdown
└── public/config.example.json
This is a sample. Before production use:
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
$ claude mcp add sample-devgenius-aws-solution-builder \
-- python -m otcore.mcp_server <graph>