Skip to content

Latest commit

 

History

History
68 lines (52 loc) · 2.37 KB

File metadata and controls

68 lines (52 loc) · 2.37 KB

TrackBuddy Design and Architecture

System Architecture Overview

TrackBuddy is a serverless Slack-integrated work logging and summary system that uses AWS Bedrock Agents with Action Groups for direct DynamoDB operations.

High-Level Architecture

assets/Quack.drawio.png

Component Design

1. Slack Integration

  • API Gateway: Single REST endpoint for Slack webhooks
  • Slack Handler Lambda: Main request processor for TrackBuddy
  • Slack signature verification: Using signing secret validation
  • Response handling: Ephemeral messages back to Slack

2. Bedrock Agent Configuration

  • Remove: Knowledge Base and Guardrails
  • Add: Action Groups for summary retrieval only
  • Agent Instructions: Handle /1:1, /midpoint, and /quarterly commands
  • Model: Claude 3.5 Haiku for cost-effective processing
  • Note: /log commands bypass the agent for direct database storage

3. Action Groups (For Summary Retrieval Only)

Get Summary Action Group:

  • Lambda function to retrieve past 7 days of logs
  • Return formatted data for AI summarization
  • Date range filtering

Get Midpoint Action Group:

  • Lambda function to retrieve past 6 months of logs
  • Return formatted data for AI summarization

Get Quarterly Action Group:

  • Lambda function to retrieve quarterly logs
  • Return formatted data for AI summarization
  • Quarter-specific filtering

4. Data Storage

DynamoDB Table: work-logs

  • Partition Key: user_id (from Slack)
  • Sort Key: timestamp (ISO format)
  • Attributes: work_description, created_at

Data Flow

/log Command (Direct to Database)

  1. Slack → API Gateway → Slack Handler Lambda
  2. Lambda stores directly in DynamoDB
  3. Confirmation returned to Slack

/1:1, /midpoint, /quarterly Commands

  1. Slack → API Gateway → Slack Handler Lambda
  2. Lambda invokes Bedrock Agent with summary request
  3. Agent calls appropriate Summary Action Group
  4. Action Lambda retrieves logs for specified time period
  5. Agent generates professional summary
  6. Summary returned to Slack

Implementation Strategy

  • Create serverless architecture using AWS CDK
  • Implement Slack integration with proper authentication
  • Configure Bedrock Agent with Action Groups for data operations
  • Use DynamoDB for efficient work log storage and retrieval
  • Modify agent instructions for work logging use case