Inspiration

IT companies spend significant time analyzing and creating proposals, with a single RFP triggering days of scattered work across email, spreadsheets, and shared drives. Teams retype the same paragraphs, estimates drift from reality, and proposals land without clear risks or assumptions, resulting in slow turnaround and lower win rates. I wanted to transform this inefficient process into a guided workflow that produces review-ready proposals while maintaining human control through explicit approval gates.

What it does

The Pre-Sales Assistant is a comprehensive multi-agent AI system that automates the entire proposal lifecycle. It reads RFPs, understands scope and constraints, searches internal knowledge for proofs and patterns, builds first-pass estimates, converts effort into price ranges, and assembles tailored documents with citations, risks, and assumptions. The system handles lead management, opportunity tracking, proposal generation, calendar coordination, email management, RFP processing, knowledge base retrieval, and web research. Using my compact effort model, it reduces pre-sales effort by 26% (from 48.5 to 36 hours on average deals) while maintaining consistent structure and better coverage. The assistant turns days of manual effort into hours, extracting requirements and composing complete outlines in one run.

How I built it

I built a production-grade system using Amazon Bedrock AgentCore framework with 12 infrastructure stacks and 15+ AWS services including Bedrock, S3, DynamoDB, Lambda, Cognito, IAM, and SSM. The architecture consists of 87 Python files with 10,103 lines of production code, featuring 8 specialized AI agents with orchestration layer, vector-based knowledge base with Titan embeddings, and S3 Vectors storage. I implemented RFP extraction, lead management, opportunity tracking, and proposal generation agents with 8-section document structure. The Streamlit frontend runs on ECS Fargate with Cognito authentication, integrated with Google Calendar, Gmail, Gdrive and DuckDuckGo APIs. I created 17 knowledge base documents with templates and compliance guides, plus comprehensive OAuth authentication with guardrails for content filtering and conversation memory management.

Challenges I ran into

The most significant technical challenges included implementing complex OAuth2 flows between AWS Cognito and Google APIs while maintaining security standards, managing thread-safe SQS listeners across multiple Streamlit sessions without creating resource conflicts, and optimizing costs by reducing SQS polling from 468 to 12 requests per minute through singleton pattern implementation. I also faced difficulties coordinating multiple AI agents with proper memory management and guardrails, ensuring consistent proposal quality across different RFP types, and building robust error handling for the complex multi-service architecture while maintaining real-time responsiveness in the chat interface.

Accomplishments that I'm proud of

I successfully delivered a production-ready multi-agent system with enterprise-grade security and scalability, achieving a remarkable 97% cost reduction through singleton pattern optimization and architectural improvements. The system seamlessly integrates OAuth2 authentication flows, provides comprehensive knowledge base with industry-specific templates, and demonstrates measurable performance improvements including faster time to first draft, defensible estimates with clear drivers, consistency through reusable templates, better risk management with automated mitigation suggestions, and measurable metrics for time to first draft, requirement coverage, and tool success rates. I built 24 comprehensive test suites across agent, infrastructure, and UI layers, delivering complete end-to-end automation from RFP processing to proposal generation.

What I learned

I gained deep expertise in Amazon Bedrock AgentCore's orchestration capabilities for managing complex multi-agent workflows, advanced AWS networking and security patterns for production deployments, thread-safe programming techniques for Streamlit applications, and sophisticated cost optimization strategies for AWS messaging services. I learned how to implement robust OAuth2 integration patterns, design scalable vector-based knowledge retrieval systems, build enterprise-grade authentication and authorization flows, and create maintainable infrastructure-as-code with AWS CDK. The project taught me valuable lessons about balancing AI automation with human oversight, designing user-friendly interfaces for complex backend systems, and implementing comprehensive testing strategies for distributed AI systems.

What's next for Pre Sales Assistant

My roadmap focuses on hardening the happy path by building guardrails around the end-to-end flow from RFP upload to proposal export, expanding the knowledge base and improving retrieval quality to ground the assistant with better building blocks, upgrading estimation and pricing signals to make numbers more defensible, and improving proposal generation output quality to make documents easier to read and reuse. I plan to add voice integration with Amazon Transcribe and Polly for hands-free operation, implement real-time collaboration features for team-based proposal development, expand support for multiple CRM systems including Salesforce and HubSpot, create advanced analytics and reporting dashboards for performance tracking, and develop mobile applications for on-the-go sales activities and proposal management.

Built With

  • agentcore-gateway
  • agentcore-identity
  • agentcore-memory
  • agentcore-runtime
  • amazon-bedrock
  • amazon-bedrock-agentcore
  • amazon-bedrock-guardrails
  • amazon-bedrock-model
  • amazon-cloudwatch
  • amazon-cognito
  • amazon-dynamodb
  • amazon-ecr
  • amazon-ecs-fargate
  • amazon-sqs
  • amazon-vpc
  • amazon-web-services
  • application-load-balancer
  • aws-cdk
  • aws-certificate-manager
  • aws-iam
  • aws-lambda
  • aws-secrets-manager
  • aws-systems-manager
  • aws-x-ray
  • boto3
  • concurrent.futures
  • docker
  • duckduckgo-search-api
  • gdrive-api
  • gmail-api
  • google-calendar-api
  • html/css
  • json
  • jwt
  • markdown
  • oauth2/pkce
  • pytest
  • python
  • queue
  • requests
  • server-sent-events
  • streamlit
  • threading
  • yaml
Share this project:

Updates