Skip to content

Shallum99/ai-enrollment-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ AI Enrollment Counselor - Hackathon Winner (2nd place)

An intelligent AI agent system for automating university enrollment processes and student communications

License: CC0-1.0 Python 3.9+ React FastAPI Agno Browser-Use

🎯 Global Agent Hackathon 2025

Prize Categories

  • Best Use of Agno - Advanced multi-agent orchestration with knowledge base management
  • Best Use of Browser Use - Sophisticated CRM automation with vision-enabled processing

Why This Project Wins

  • Production-Ready: Built for real-world deployment at Illinois Institute of Technology
  • Advanced Agentic Workflows: Seamless integration of multiple AI frameworks
  • Real Impact: Solves actual university enrollment challenges with measurable results

🌟 Overview

The AI Enrollment Counselor is a comprehensive AI-powered system designed to revolutionize university enrollment processes. Built specifically for Illinois Institute of Technology's Graduate Admissions office, this system combines the power of Agno's multi-agent framework, Browser-Use automation, and intelligent document processing to handle student inquiries, process applications, and manage enrollment workflows automatically.

✨ Key Features

  • πŸ€– Intelligent Chat Assistant - AI-powered conversational interface using Agno's knowledge base
  • πŸ“§ Automated Email Processing - Browser-Use powered email automation with Slate CRM
  • πŸ“„ Document Analysis - OCR and AI-powered document processing for transcripts and applications
  • πŸ”§ Knowledge Base Management - Dynamic knowledge base with real-time updates via web UI
  • 🌐 Browser Automation - Vision-enabled automated interaction with CRM systems
  • πŸ“Š Real-time Analytics - Processing statistics and performance monitoring

🎬 Demo Video

Watch the demo showcasing all features

Shows end-to-end workflows: chat interface, email automation, document processing, and real-time analytics

πŸ—οΈ Architecture

Frontend (React + TypeScript)

  • Modern React 18 with TypeScript and Tailwind CSS
  • Claude-inspired chat interface with real-time streaming
  • Interactive dashboards with analytics and monitoring
  • Knowledge base editor with CRUD operations

Backend (Python + FastAPI)

  • FastAPI for high-performance async API endpoints
  • Agno Framework for AI agent orchestration and knowledge management
  • Browser-Use for web automation and CRM integration
  • PostgreSQL + PgVector for vector embeddings and semantic search

AI & Automation Stack

  • Agno Multi-Agent System - Orchestrates chat, email, and document processing agents
  • Google Gemini 2.5 - Advanced language model for natural language processing
  • Browser-Use - Vision-enabled browser automation
  • Vector Database (PgVector) - Semantic search and knowledge retrieval
  • OCR Processing - Document analysis and data extraction

πŸš€ Quick Start for Judges

⚑ Minimal Setup (5 minutes)

# 1. Clone the repository
git clone https://github.com/YOUR_USERNAME/ai-enrollment-counselor.git
cd ai-enrollment-counselor

# 2. Set up environment
echo "GEMINI_API_KEY=your_api_key_here" > backend/.env

# 3. Quick start with Docker (if available)
docker-compose up

# Or manual setup:
# Backend
cd backend && pip install -r requirements.txt && python main.py &
# Frontend  
cd frontend && npm install && npm start

Access at: http://localhost:3000

πŸ”‘ Required API Keys

  • Google Gemini API: Get from Google AI Studio
  • PostgreSQL: Included Docker setup or use provided connection string

πŸ“‹ Full Installation Guide

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • PostgreSQL 14+ (or use Docker)
  • Google Chrome/Chromium browser

Step-by-Step Setup

1. Clone Repository

git clone https://github.com/YOUR_USERNAME/ai-enrollment-counselor.git
cd ai-enrollment-counselor

2. Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

3. Environment Configuration

# Create .env file in backend directory
cat > .env << EOF
GEMINI_API_KEY=your_gemini_api_key_here
DATABASE_URL=postgresql+psycopg://ai:ai@localhost:5532/ai
EOF

4. Database Setup

# Start PostgreSQL with pgvector extension
docker run -d \
  --name postgres-ai \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -p 5532:5432 \
  pgvector/pgvector:pg14

5. Frontend Setup

cd frontend
npm install

6. Start Services

# Terminal 1: Backend
cd backend && python main.py

# Terminal 2: Frontend
cd frontend && npm start

7. Access Application

  • Frontend: http://localhost:3000
  • API Documentation: http://localhost:8000/docs
  • Health Check: http://localhost:8000/api/health

🎯 Hackathon Technical Highlights

πŸ”₯ Best Use of Agno Framework

Advanced Knowledge Base Management

# Sophisticated knowledge base with vector search
knowledge_base = DocumentKnowledgeBase(
    documents=documents,
    vector_db=PgVector(
        table_name="documents",
        search_type=SearchType.hybrid,
        embedder=GeminiEmbedder(dimensions=768),
        reranker=CohereReranker(model="rerank-v3.5"),
    )
)

Multi-Agent Orchestration

# Chat agent with knowledge integration
chat_agent = Agent(
    model=Gemini(id="gemini-2.5-flash", api_key=API_KEY),
    role="Graduate enrollment counselor",
    knowledge=knowledge_base,
    search_knowledge=True
)

Real-time Knowledge Updates

  • Web-based knowledge editor with immediate effect on AI responses
  • Dynamic content management affecting all agent interactions
  • Version control and content synchronization

⚑ Best Use of Browser-Use Framework

Vision-Enabled CRM Automation

# Browser automation with vision capabilities
email_agent = BrowserAgent(
    task="Process emails and generate responses",
    llm=ChatGoogleGenerativeAI(model='gemini-2.5-pro'),
    browser=browser,
    use_vision=True,  # Enables visual element recognition
    controller=controller
)

Production-Ready Browser Pool

# Connection pooling for scalable automation
browser_pool = []
MAX_POOL_SIZE = 2

async def get_browser_from_pool():
    if browser_pool:
        return browser_pool.pop()
    return Browser(config=optimized_config)

Advanced Error Handling

  • Automatic browser recovery and reconnection
  • Task status tracking and monitoring
  • Graceful failure handling with user feedback

🌟 Core Features Deep Dive

1. πŸ€– AI Chat Assistant

  • Natural Language Processing: Powered by Agno's knowledge base integration
  • Contextual Responses: Vector search through institutional knowledge
  • Conversation Memory: Multi-turn conversation handling
  • Suggested Questions: AI-generated follow-ups for better engagement

2. πŸ“§ Email Response Automation

  • Browser Automation: Automated Slate CRM interaction via Browser-Use
  • Vision Processing: Reads email content using visual recognition
  • Response Generation: AI-powered email drafting based on knowledge base
  • Bulk Processing: Sequential handling of multiple emails

3. πŸ“„ Document Processing & Analysis

  • OCR Integration: Extract text from scanned documents
  • Intelligent Classification: Automatic document type detection
  • Data Extraction: Structured data extraction from forms and transcripts
  • Analytics Dashboard: Processing statistics and insights

4. πŸ”§ Knowledge Base Management

  • Web Interface: User-friendly content management system
  • Real-time Updates: Immediate effect on AI responses
  • Version Control: Track changes and maintain content history
  • Semantic Search: Vector-based knowledge retrieval

πŸ“Š Performance & Scalability

Benchmarks

  • Chat Response Time: < 2 seconds average
  • Email Processing: 5-10 emails per minute
  • Document Analysis: < 30 seconds per document
  • Concurrent Users: 100+ simultaneous chat sessions
  • Browser Automation: Parallel processing with connection pooling

Production Optimizations

  • Response Caching: LRU cache for common queries
  • Connection Pooling: Reusable browser instances
  • Async Processing: Non-blocking background tasks
  • Error Recovery: Automatic retry mechanisms

πŸ› οΈ Technical Implementation

Agno Integration Examples

# Knowledge base with hybrid search
knowledge_base = DocumentKnowledgeBase(
    documents=documents,
    vector_db=PgVector(
        search_type=SearchType.hybrid,
        embedder=GeminiEmbedder(),
        reranker=CohereReranker()
    )
)

# Agent with knowledge integration
agent = Agent(
    model=Gemini(id="gemini-2.5-flash"),
    knowledge=knowledge_base,
    search_knowledge=True
)

Browser-Use Integration Examples

# Controller for email processing
controller = Controller()

@controller.action("Process Email Content")
async def process_email_content(content: str) -> str:
    response = await generate_response_with_agno(content)
    return response

# Agent with vision and controller
email_agent = BrowserAgent(
    task="Extract email content and generate response",
    browser=browser,
    use_vision=True,
    controller=controller
)

πŸ“ˆ Real-World Impact

Illinois Institute of Technology Deployment

  • Response Time Reduction: From 2-4 hours to under 30 seconds
  • Staff Efficiency: 70% reduction in manual email processing
  • Student Satisfaction: 24/7 availability for common inquiries
  • Consistency: Standardized responses across all communications

Scalability Metrics

  • Processing Capacity: 500+ emails per day
  • Knowledge Base: 1000+ institutional knowledge entries
  • Document Processing: 100+ documents per day
  • Error Rate: < 2% with automatic recovery

πŸ”§ Configuration

Environment Variables

# Required
GEMINI_API_KEY=your_gemini_api_key

# Database
DATABASE_URL=postgresql+psycopg://user:pass@host:port/db

# Optional
COHERE_API_KEY=your_cohere_api_key
CHROME_PATH=/usr/bin/google-chrome
HEADLESS_MODE=true

Agent Configuration

# Customize AI behavior
agent_config = {
    "temperature": 0.2,
    "max_tokens": 2048,
    "search_knowledge": True,
    "use_reranker": True
}

πŸ“š API Documentation

Chat Endpoint

POST /api/chat
Content-Type: application/json

{
  "message": "What are the tuition fees for graduate programs?",
  "user_id": "user123",
  "conversation_history": []
}

Email Processing

POST /api/process-email
Content-Type: application/json

{
  "slate_url": "https://apply.illinoistech.edu/manage/inbox/email/123"
}

Knowledge Base Management

GET /api/knowledge          # List all knowledge entries
POST /api/knowledge         # Create new entry
PUT /api/knowledge/{id}     # Update entry
DELETE /api/knowledge/{id}  # Delete entry

πŸš€ Production Deployment

Docker Deployment

# Build and run with Docker Compose
docker-compose up --build -d

# Or individual containers
docker build -t ai-enrollment-backend ./backend
docker build -t ai-enrollment-frontend ./frontend

Environment Setup

# Production environment variables
export GEMINI_API_KEY="your_production_api_key"
export DATABASE_URL="your_production_db_url"
export CORS_ORIGINS="https://your-domain.com"

πŸ” Security & Privacy

  • Data Encryption: All sensitive data encrypted in transit and at rest
  • Access Control: Role-based permissions and authentication
  • Privacy Compliance: FERPA-compliant handling of student data
  • Audit Logging: Comprehensive logging for compliance and debugging
  • API Security: Rate limiting and input validation

πŸ§ͺ Testing

Run Tests

# Backend tests
cd backend && python -m pytest

# Frontend tests
cd frontend && npm test

# Integration tests
npm run test:integration

Test Coverage

  • Unit Tests: 85%+ coverage for critical components
  • Integration Tests: End-to-end workflow testing
  • Performance Tests: Load testing for concurrent users

πŸ› Troubleshooting

Common Issues

1. Database Connection

# Check PostgreSQL status
docker ps | grep postgres

# Reset database
docker restart postgres-ai

2. Browser Automation

# Install Chrome dependencies (Linux)
sudo apt-get install -y chromium-browser

# Check Chrome path
which google-chrome

3. API Key Issues

# Verify Gemini API key
curl -H "Authorization: Bearer $GEMINI_API_KEY" \
  https://generativelanguage.googleapis.com/v1/models

Performance Issues

  • Slow responses: Check database connection and API quotas
  • Browser timeout: Increase timeout values in browser config
  • Memory usage: Monitor background processes and connection pools

πŸš€ Future Enhancements

Phase 2 Features

  • Multi-language Support: Internationalization for global students
  • Voice Interface: Speech-to-text integration for accessibility
  • Mobile Application: Native iOS and Android apps
  • Advanced Analytics: Predictive modeling for enrollment trends

Integration Expansions

  • Multiple CRM Systems: Salesforce, HubSpot integration
  • Video Processing: Analyze video submissions and interviews
  • Social Media: Automated social media engagement
  • Calendar Integration: Automated appointment scheduling

πŸ† Awards & Recognition

Global Agent Hackathon 2025

  • Best Use of Agno: Advanced multi-agent system with knowledge base
  • Best Use of Browser Use: Production-ready CRM automation
  • Most Practical: Real-world deployment potential

Technical Achievements

  • Production-Ready Code: Enterprise-level architecture and security
  • Innovation: Novel integration of multiple AI frameworks
  • Impact: Measurable improvement in university operations

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

Code Standards

  • Python: Follow PEP 8 with Black formatting
  • TypeScript: ESLint + Prettier configuration
  • Testing: Minimum 80% test coverage for new features
  • Documentation: Update README and API docs

πŸ“œ License

This project is released under the CC0 1.0 Universal license - feel free to use it for any purpose!

πŸ™ Acknowledgments

  • Global Agent Hackathon 2025 - For the opportunity to build this solution
  • Illinois Institute of Technology - For the real-world use case and feedback
  • Agno Framework - For the powerful AI agent orchestration platform
  • Browser-Use - For enabling sophisticated browser automation
  • Google Gemini - For advanced language processing capabilities

πŸ† Built for Global Agent Hackathon 2025 πŸ†
Revolutionizing university enrollment with AI automation

Live Demo β€’ Documentation β€’ API Reference

About

A human assisted ai agent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published