A production-grade Decision Comparison Platform for AWS Builder Center that compares multiple technical options using AI-powered analysis.
The Decision Intelligence Platform helps technical teams make informed decisions by:
- Comparing multiple technical options (APIs, cloud services, stacks, architectures)
- Accepting constraints (budget, latency, scale, region, compliance, team skills)
- Scoring each option with transparent methodology
- Generating explicit trade-offs between options
- Providing AI-powered explanations and recommendations
- Never giving only one answer β always comparing multiple options
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Kiro Agent β
β (Next.js) βββββΊβ (FastAPI) βββββΊβ (AI Analysis) β
β β β β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Database β
β (SQLite) β
βββββββββββββββββββ
- Docker and Docker Compose
- Git
git clone <repository-url>
cd decision-intelligence-platform
docker-compose up --buildThe platform includes pre-loaded examples:
- API Gateway Selection: Compare AWS API Gateway, Kong, and Nginx Plus
- Database Selection: Compare RDS PostgreSQL, DynamoDB, and MongoDB Atlas
- Use Case: Describe what you're building
- Constraints: Set your budget, latency, scale, compliance, and team skill requirements
- Options: Add 2+ technical options to compare
The Kiro agent analyzes your options using:
- Weighted Scoring: Each option scored across 6 dimensions
- Trade-off Analysis: Identifies where options win/lose against each other
- Risk Assessment: Highlights potential risks for each choice
- Scenario Mapping: Shows which option is best for different situations
- Score Table: Transparent scoring across all dimensions
- Trade-off Matrix: Visual comparison of strengths/weaknesses
- AI Insights: Key findings and patterns
- Multiple Recommendations: Context-dependent suggestions
- Risk Factors: Potential issues to consider
Default weights (can be customized in backend/scoring.py):
- Cost: 25%
- Latency: 20%
- Scalability: 20%
- Compliance: 15%
- Cloud Preference: 10%
- Team Skills: 10%
Configure the AI agent in .kiro/decision_agent.yaml:
- Model parameters
- Analysis prompts
- Decision rules
- Integration settings
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm install
npm run devThe SQLite database is automatically created. To reset:
docker-compose down -v
docker-compose up --builddecision-intelligence-platform/
βββ backend/ # FastAPI backend
β βββ main.py # API endpoints
β βββ decision_engine.py # Core decision logic
β βββ scoring.py # Scoring algorithms
β βββ tradeoffs.py # Trade-off analysis
β βββ kiro_agent.py # AI agent integration
β βββ models.py # Data models
β βββ db.py # Database operations
β βββ requirements.txt # Python dependencies
β βββ Dockerfile # Backend container
βββ frontend/ # Next.js frontend
β βββ pages/index.tsx # Main page
β βββ components/ # React components
β βββ styles.css # Global styles
β βββ package.json # Node dependencies
β βββ Dockerfile # Frontend container
βββ .kiro/ # Kiro agent configuration
β βββ decision_agent.yaml # Agent settings
βββ docker-compose.yml # Container orchestration
βββ README.md # This file
POST /compare- Submit comparison requestGET /comparisons/{id}- Retrieve specific comparisonGET /comparisons- List recent comparisonsGET /health- Health check
curl -X POST "http://localhost:8000/compare" \
-H "Content-Type: application/json" \
-d '{
"use_case": "API Gateway Selection",
"options": [...],
"constraints": {...}
}'- Update
models.pyto add new fields - Modify
scoring.pyto include new scoring logic - Update frontend forms in
CompareForm.tsx
Add rules in .kiro/decision_agent.yaml:
decision_rules:
- name: "custom_rule"
condition: "custom_condition"
action: "custom_action"- Global styles:
frontend/styles.css - Component styles: Inline JSX styles in components
- Theme colors: Update CSS variables
- Input validation on all API endpoints
- CORS configuration for cross-origin requests
- SQL injection protection via parameterized queries
- Rate limiting (configurable)
- Health checks for all services
All services include health endpoints:
- Backend:
/health - Frontend: Built-in Next.js health
- Database: Connection validation
- Backend: FastAPI automatic logging
- Frontend: Console logging for errors
- Agent: Configurable log levels
# Backend
DATABASE_URL=sqlite:///app/data/decisions.db
CORS_ORIGINS=https://yourdomain.com
# Frontend
NEXT_PUBLIC_API_URL=https://api.yourdomain.com
NODE_ENV=productiondocker-compose --profile production up -dThis includes:
- Nginx reverse proxy
- SSL termination (configure certificates)
- Production optimizations
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and questions:
- Check the Issues page
- Review the API documentation at
/docs - Check Docker logs:
docker-compose logs
The platform is designed for easy updates:
- Backend: Update Python packages in
requirements.txt - Frontend: Update Node packages in
package.json - Agent: Modify
.kiro/decision_agent.yaml - Infrastructure: Update
docker-compose.yml
Built for AWS Builder Center - Empowering technical teams to make better decisions through AI-powered analysis.
018f462924f5c88daddadbe13eb658b5282f5ecb