TA Copilot is an AI-powered teaching assistant that helps educators efficiently manage and respond to student emails. The system leverages Amazon Bedrock's generative AI capabilities to automatically summarize, classify, and draft responses to student inquiries, reducing the time instructors spend on email management while maintaining personalized, high-quality communication.
Transform the way educators handle student communications by:
- Reducing Response Time: Automate email triage and draft generation
- Improving Consistency: Ensure all students receive timely, professional responses
- Enhancing Context Awareness: Integrate course materials and student data for personalized replies
- Scaling Support: Enable teaching staff to handle larger class sizes effectively
-
Email Summarization
- Condenses lengthy student emails into concise key points
- Extracts action items and important details
- Saves time reviewing complex inquiries
-
Intelligent Email Classification
- Categorizes emails by type (question, complaint, request, feedback)
- Assigns confidence scores and sentiment analysis
- Provides routing recommendations (instructor, TA, automated response)
- Returns structured JSON output for workflow automation
-
AI-Powered Reply Drafting
- Generates professional, context-aware response suggestions
- Maintains appropriate tone for educational settings
- Allows instructors to review and customize before sending
-
Canvas LMS Integration
- Fetches real-time course data (assignments, grades, announcements)
- Provides context-aware responses based on course materials
- Accesses student submission history for informed replies
- Send AI-generated responses directly to Canvas announcements
Example: Sending AI-generated content directly to Canvas/Quercus announcements
- Email Analytics & History
- Stores processed emails in DynamoDB
- Tracks response patterns and common student questions
- Enables data-driven insights for course improvement
┌─────────────────────────────────────────────────────────────────┐
│ User Interface │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Streamlit App │ │ Chrome Extension │ │
│ │ (Standalone) │ │ (Outlook Plugin) │ │
│ └────────┬─────────┘ └──────────┬───────────┘ │
└───────────┼────────────────────────────────────┼────────────────┘
│ │
│ HTTP/REST │ Webhook
▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ Backend Services │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ FastAPI Application │ │
│ │ ┌────────────┐ ┌────────────┐ ┌──────────────────┐ │ │
│ │ │ Email │ │ Canvas │ │ Bedrock │ │ │
│ │ │ Routes │ │ MCP │ │ Service │ │ │
│ │ │ │ │ Service │ │ │ │ │
│ │ └─────┬──────┘ └─────┬──────┘ └────────┬─────────┘ │ │
│ └────────┼───────────────┼──────────────────┼────────────┘ │
│ │ │ │ │
└───────────┼───────────────┼──────────────────┼────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ AWS Services │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ DynamoDB │ │ Lambda │ │ Amazon Bedrock │ │
│ │ │ │ │ │ │ │
│ │ • Emails │ │ • Webhook │ │ • Claude 3.5 Sonnet│ │
│ │ • Analytics │ │ • Processing│ │ • Claude 3 Haiku │ │
│ │ • History │ │ │ │ • Amazon Nova │ │
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Canvas LMS API (External) │ │
│ │ • Course Data • Assignments • Student Info │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
- Streamlit: Rapid prototyping UI for standalone demo
- Chrome Extension: Browser-based Outlook integration
- HTML/CSS/JavaScript: Custom dashboard interface
- FastAPI: High-performance Python web framework
- Python 3.8+: Core application logic
- Boto3: AWS SDK for Python
- Amazon Bedrock: Managed generative AI service
- Claude 3.5 Sonnet (primary model)
- Claude 3 Haiku (fast responses)
- Amazon Nova (cost-effective alternative)
- Converse API: Unified interface for multiple AI models
- Amazon DynamoDB: NoSQL database for email storage and analytics
- AWS Lambda: Serverless webhook processing
- Amazon API Gateway: RESTful API management
- IAM: Secure credential management
- Canvas LMS API: Course management system integration
- Model Context Protocol (MCP): Standardized context sharing
-
Email Input
- User pastes email into Streamlit app OR
- Chrome extension captures email from Outlook
-
Processing Request
- Frontend sends email content to FastAPI backend
- Backend validates and routes to appropriate service
-
AI Analysis
- Bedrock Service constructs prompt with course context
- Canvas MCP Service fetches relevant course data
- AI model (Claude/Nova) processes request
- Returns structured response (summary/classification/reply)
-
Storage & Analytics
- DynamoDB Service stores email metadata
- Tracks processing history and patterns
- Enables future analytics and insights
-
Response Delivery
- Formatted response returned to frontend
- User reviews and can copy/edit reply
- Optional: Send via Lambda webhook integration
{
"category": "question|complaint|request|feedback|other",
"confidence": 0.95,
"should_answer": true,
"should_escalate": false,
"route_to": "instructor|ta|automated",
"sentiment": "positive|neutral|negative",
"urgency": "low|medium|high",
"suggested_reply": "AI-generated response text"
}- Python 3.8+
- AWS Account with Bedrock access enabled (us-west-2)
- Canvas LMS API token (optional)
- AWS credentials configured
# Clone repository
git clone https://github.com/Ahmed-Labs/ta-copilot.git
cd ta-copilot
# Install dependencies
pip install -r requirements.txt
# Configure AWS credentials
aws configure
# Run Streamlit app
streamlit run app.py
# OR run FastAPI backend
cd course-support-backend
uvicorn app.main:app --reload- Office Hours Overflow: Handle common questions when instructors are unavailable
- Large Class Management: Scale support for courses with 100+ students
- Consistent Communication: Maintain uniform response quality across teaching staff
- After-Hours Support: Provide immediate draft responses outside business hours
- Multilingual Support: Leverage AI for translation and cross-language communication
- Bedrock Knowledge Bases: RAG-based retrieval from course materials
- Amazon SES Integration: Direct email sending capability
- Microsoft Graph API: Native Outlook integration
- Multi-Course Support: Handle multiple courses simultaneously
- Student Sentiment Tracking: Long-term analytics on student satisfaction
- Automated Follow-ups: Scheduled reminders for unanswered questions
MIT License
- Selina Zarzour
- Youssef Bayoudh
- Justin Yearwood
- Ahmed Mohamed
AWS Hackathon 2026 - Leveraging Amazon Bedrock for Educational Innovation
