A full-featured engagement platform for the CMIS program at Texas A&M University, featuring AI-powered student-mentor matching, event management, and automated workflows. Built with Python, Streamlit, MongoDB, and Groq AI.
2nd Place Overall - 2025 CMIS Case Competition at Texas A&M University
Recognized for:
- Exceptional technical implementation
- End-to-end automation
- AI-powered matching engine
- Advanced workflow orchestration via N8N
- Clean UI and robust role-based dashboards
- ๐จโ๐ Student Management: Add, edit, and manage student profiles
- ๐ Mentor Management: Manage mentor profiles and availability
- ๐ Event Management: Create and manage events and workshops
- ๐ Case Competitions: Organize and track case competitions
- ๐ค AI-Powered Matching: Intelligent student-mentor matching using Groq API
- ๐ง Email Management: Send emails via N8N webhook with AI-generated content
- โฐ Task Scheduling: Automated workflows and reminders
- โก Instant Demo Mode: Create mentor requests instantly for presentations
- โ๏ธ Edit complete profile (name, major, UIN, skills, interests, contact)
- ๐ Upload and version resumes (automatic version control)
- ๐ Register for events and create teams
- ๐ View assigned mentors after acceptance
- ๐ View team scores after judge evaluations
- ๐ง Receive automated HTML-formatted emails for mentorship, registration, and scoring
- ๐ View pending mentorship requests from AI matching
- ๐ค Review student profiles, resumes, skills, and match explanations
- โ Accept or decline mentorship requests
- ๐ View assigned events and teams for judging
- ๐ฏ Enter scores and comments for team evaluations
- ๐ง Instant email notifications for all actions
- Admin runs AI matching algorithm
- Pending mentorship requests created (supports Instant Mode)
- Mentor logs in and views pending requests
- Mentor accepts/declines request
- Automated emails sent to both student and mentor
- Student dashboard updates with mentor details
- All updates reflect instantly
- Admins assign judges to events
- Teams register for events
- Admin assigns teams to judges (randomized distribution)
- Judges view assigned teams and enter scores (0-100) with comments
- Scores saved and students notified via email
- Real-time updates across all dashboards
- Frontend: Streamlit
- Backend: Python 3.11+
- Database: MongoDB Atlas (pymongo)
- AI: Groq API (LLaMA 3.1 / Mixtral models)
- Email Automation: N8N webhook integration
- PDF Processing: pdfplumber
CMIS/
โโโ Product-Canvas.pdf # Product Canvas for the CMIS application - AggieLink
โโโ app.py # Main Streamlit application
โโโ config.py # Configuration and environment variables
โโโ db.py # MongoDB connection utilities
โโโ scheduler.py # Task scheduling
โโโ requirements.txt # Python dependencies
โโโ models/ # Data models
โ โโโ __init__.py
โ โโโ students.py
โ โโโ mentors.py
โ โโโ events.py
โ โโโ case_competitions.py
โ โโโ matches.py
โ โโโ emails.py
โโโ services/ # Business logic and database operations
โ โโโ __init__.py
โ โโโ student_service.py
โ โโโ mentor_service.py
โ โโโ event_service.py
โ โโโ case_comp_service.py
โ โโโ match_service.py
โ โโโ email_service.py
โโโ ai/ # AI-powered features
โ โโโ __init__.py
โ โโโ matching.py # Student-mentor matching algorithm
โ โโโ email_generation.py # AI email generation
โ โโโ workflow.py # Automated workflows
โโโ utils/ # Utility functions
โโโ __init__.py
โโโ pdf_utils.py # PDF processing
โโโ time_utils.py # Time and date utilities
- Personal info (name, email, UIN, major, graduation year)
- Skills and interests
- Career goals
- Resume versions and LinkedIn profile
- Team registrations and scores
- Professional info (company, job title, years of experience)
- Expertise areas and industries
- Availability and mentoring capacity
- Judge assignments
- Student-mentor pairing
- AI-generated match score (0-100%)
- Detailed match explanation from Groq AI
- Status (pending, accepted, active, completed)
- Event details (title, description, date, location)
- Registration tracking and team management
- Judge assignments
- Capacity management
- Team name and members
- Event registration
- Judge assignments and scores
- Comments and feedback
The hybrid scoring algorithm uses:
- 40% Interest Alignment: Matching career goals and interests
- 40% Skills Match: Technical and soft skills compatibility
- 20% Resume Similarity: NLP-based text analysis
Navigate to "Matching" page in the Admin Dashboard, click "Run AI Matching Algorithm", and the system will:
- Analyze all students and mentors
- Generate match scores with AI explanations
- Create pending mentorship requests
- Send notification emails automatically
- Navigate to "Email Management" page
- Select recipients and email purpose
- Click "Generate with AI"
- Review AI-generated HTML email
- Send with one click
- Create data model in
models/ - Create service class in
services/ - Add UI components in
app.py - Wire up in main navigation
Services can be used programmatically:
from services.student_service import StudentService
from ai.matching import MatchingEngine
# Create student
student_service = StudentService()
student = student_service.create_student({
"name": "John Doe",
"email": "john@tamu.edu",
"major": "MIS"
})
# Run AI matching
matching_engine = MatchingEngine()
mentors = mentor_service.get_all_mentors()
matches = matching_engine.find_best_matches(student, mentors, top_k=5)- User authentication and role-based authorization
- Bulk import via CSV/Excel for students and mentors
- Advanced analytics and reporting dashboard
- Mobile-responsive design improvements
- Calendar integration for events (Google Calendar, Outlook)
- Real-time notifications (WebSocket/Server-Sent Events)
- In-app chat functionality for mentor-student communication
- Export reports to PDF
- Integration with university systems (Banner, Canvas)
- Multi-language support
ยฉ 2026 Yash Chetan Doshi. All rights reserved.
You may not copy, modify, distribute, or use any part of this repository or its contents without prior written permission from the author.
Contributions are welcome! Please feel free to submit a Pull Request.
Developed for the 2025CMIS Case Competition at Texas A&M University. Team Members: Yash Doshi, Khushi Shah, Chintan Shah & Ujjawal Patel
For issues or questions, open an issue on GitHub or check the documentation links above.