We've all been there. That dreaded moment in class when the professor announces, "Pick your project teams!" As students, we often make quick decisions based on limited information - maybe choosing friends, or the people sitting nearby. But these snap judgments can lead to challenging group dynamics:
- The team where everyone's a leader, but no one wants to follow
- The quiet group where no one takes initiative
- The imbalanced team where one person carries the load
- The group that seems perfect... until deadlines approach and communication breaks down
These mismatched teams not only affect the project quality but can impact grades and create unnecessary stress. After experiencing this frustration firsthand, I decided to build a solution.
This tool automates the process of understanding potential teammates before group formation. It:
- Pulls student information from Canvas
- Finds their LinkedIn profiles
- Analyzes their professional background and experiences
- Generates compatibility scores for better team matching
Think of it as "Moneyball" for student project teams - using data to make more informed grouping decisions. When forming teams, consider:
-
Aim for 75+ Group Fit Scores
- Teams scoring above 75 show significantly better outcomes
- Balance is more important than individual high scores
-
Watch for Red Flags
- All members scoring < 30 on conscientiousness
- No members scoring > 60 on extraversion
- Technical skill gaps in critical areas
-
Optimal Distribution
- 1-2 high extroversion (>70) members per team
- At least 2 high conscientiousness (>80) members
- Mixed technical strength distribution (archetypes for each role - select based on class & project)
Our approach is grounded in organizational psychology research:
- Google's Project Aristotle findings on team effectiveness
- MIT's Human Dynamics Laboratory studies on team communication
- Harvard Business Review's research on high-performing teams
-
Canvas Scraping
- Fetches class roster from your Canvas course
- Extracts student names and available information
-
LinkedIn Discovery
- Automatically finds corresponding LinkedIn profiles
- Matches profiles based on name and university
-
Profile Analysis
- Analyzes LinkedIn data for key indicators
- Generates personality and compatibility metrics
-
Team Optimization
- Sorts students by group project compatibility
- Suggests balanced team compositions
- Python 3.8+
- Microsoft Edge browser
- Active Canvas login session in Edge
- LinkedIn account credentials
- Clone the repository:
git clone <repository-url>
cd canvas-linkedin-analyzer- Install dependencies:
pip install -r requirements.txt- Create
secrets.pywith your LinkedIn credentials:
Link_ps = "your_linkedin_password"- Ensure you're logged into Canvas in Microsoft Edge
- Currently designed specifically for university students using Canvas LMS
- Optimized for Northeastern University's Canvas implementation
- Requires active student status and Canvas access
- Canvas login must be active in Microsoft Edge browser
- LinkedIn account with login credentials required
- Proper configuration of
secrets.pyneeded
- Rate limits apply to protect against API restrictions
- LinkedIn profile visibility affects analysis quality
- Results depend on profile completeness
├── requirements.txt
├── src/
│ ├── scraper/
│ │ ├── populate.py # Main pipeline orchestrator
│ │ ├── run_scraper.py # Canvas scraping manager
│ │ └── url_finder.py # LinkedIn URL finder
│ └── objects/
│ ├── CanvasScraper.py # Canvas interaction logic
│ └── person.py # Person data model
- Run the main pipeline:
python src/scraper/populate.py- Follow the interactive prompts to:
- Select your Canvas course
- Wait for LinkedIn profile discovery
- Review compatibility analysis
- Implements respectful delays between requests
- Honors platform-specific rate limits
- Uses exponential backoff for failures
- Robust exception management
- Debug logging options
- Graceful handling of missing data
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT License - LICENSE.md
This tool is for educational purposes only. Please ensure compliance with:
- Canvas Terms of Service
- LinkedIn's User Agreement
- Your institution's policies
For issues, questions, or contributions, email [email protected].