๐ Hackathon Project: An intelligent university matching system that uses AI to crawl university websites in real-time, analyze admission requirements, and provide personalized university recommendations with explainable scoring.
CampusCompass revolutionizes the college application process by combining real-time web crawling, AI-powered content analysis, and intelligent matching algorithms to help students find their perfect university fit. Unlike static databases, our system crawls university websites live to ensure the most up-to-date information.
- ๐ค AI-Powered Web Crawling: Uses Ollama LLM to intelligently analyze university web pages and extract relevant admission information
- ๐ Real-Time Analysis: Crawls university websites on-demand to get the latest requirements and program information
- ๐ฏ Smart Matching Algorithm: Multi-factor scoring system considering academic fit, research alignment, and program availability
- ๐ Live Progress Tracking: Real-time updates during the matching process with detailed progress indicators
- ๐ Comprehensive Reports: Generates detailed PDF and CSV reports with explanations for each match
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ React Frontend โ โ Django Backend โ โ Ollama AI โ
โ (Material UI) โโโโโบโ (REST API) โโโโโบโ (Local LLM) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Enhanced โ
โ Web Crawler โ
โ (Multi-threaded)โ
โโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ University โ
โ Websites โ
โ (Live Data) โ
โโโโโโโโโโโโโโโโโโโโ
- Smart Profile Creation: Upload resume and cover letter for enhanced matching
- Personalized Matching: Get recommendations based on your academic background, interests, and goals
- Real-Time Progress: Watch as the system analyzes universities in real-time
- Detailed Explanations: Understand why each university was recommended
- Export Options: Download results as PDF reports or CSV files
- Advanced Crawling Engine: BFS-based crawler with intelligent link prioritization
- AI Content Analysis: LLM-powered extraction of admission requirements and program details
- Scalable Architecture: Designed to handle multiple concurrent matching requests
- Extensible Scoring: Modular scoring system that can be easily customized
- Rich API: RESTful API for integration with other systems
- Python 3.8+
- Node.js 16+
- Ollama (recommended for AI features)
# Clone and navigate to project
cd server
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Setup database
python manage.py migrate
# Start Django server
python manage.py runserver 0.0.0.0:8000# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start development server
npm run dev
# Open browser to http://localhost:5173# Install Ollama from https://ollama.com/
# Pull a model (we recommend gpt-oss for best results)
ollama pull gpt-oss
# Ollama will automatically start on http://localhost:11434Students create detailed profiles including:
- Academic background (GPA, test scores, degree level)
- Research interests and career goals
- Resume and cover letter upload
- Funding requirements and preferences
Our enhanced crawler:
- Performs BFS traversal of university domains
- Prioritizes admission and faculty pages
- Uses AI to identify relevant content
- Extracts key information like requirements, deadlines, and program details
The system uses Ollama LLM to:
- Analyze page content for relevance
- Extract admission requirements
- Identify faculty research areas
- Score content based on student profile
Multi-factor scoring considers:
- Academic Fit: GPA requirements, test scores, degree level match
- Research Alignment: Overlap between student interests and faculty research
- Program Availability: Relevant programs and specializations
- Content Quality: Depth and recency of information found
Generate detailed reports with:
- Ranked university list with scores
- Explanation for each recommendation
- Key requirements and deadlines
- Faculty and research highlights
POST /api/profiles- Create/update student profileGET /api/profiles/{id}- Get profile detailsPOST /api/profiles/{id}/resume- Upload resumePOST /api/profiles/{id}/cover_letter- Upload cover letter
GET /api/universities- List available universitiesPOST /api/match- Start matching processGET /api/match/{run_id}- Get matching status and resultsGET /api/match/{run_id}/download/pdf- Download PDF reportGET /api/match/{run_id}/download/csv- Download CSV results
# Ollama Configuration
OLLAMA_URL=http://localhost:11434 # Default Ollama endpoint
OLLAMA_MODEL=gpt-oss # AI model to use
# Crawling Settings
MAX_CRAWL_PAGES=100 # Maximum pages per university
CRAWL_TIMEOUT=5 # Request timeout in seconds
CRAWL_DEPTH=3 # Maximum crawl depth{
"mode": "limited", // "limited" or "all"
"max_links": 100, // Maximum links to crawl
"timeout": 5, // Request timeout
"depth": 3 // Maximum depth
}The system integrates with Ollama for advanced AI capabilities:
- Content Relevance Scoring: AI evaluates how relevant each page is to the student's profile
- Information Extraction: Automatically extracts admission requirements, deadlines, and program details
- Faculty Research Analysis: Identifies faculty members and their research areas
- Intelligent Link Following: AI decides which links are most likely to contain useful information
If Ollama is not available, the system gracefully falls back to keyword-based analysis.
Our sophisticated scoring system uses multiple factors:
# Simplified scoring formula
university_score = (
academic_fit_score * 0.4 +
research_alignment_score * 0.3 +
content_quality_score * 0.2 +
program_availability_score * 0.1
)- Academic Fit: Compares student credentials with university requirements
- Research Alignment: Matches student interests with faculty research
- Content Quality: Rewards universities with comprehensive, up-to-date information
- Program Availability: Considers availability of relevant programs and specializations
UniversityMatch/
โโโ frontend/ # React frontend
โ โโโ src/
โ โ โโโ components/ # React components
โ โ โโโ context/ # React context providers
โ โ โโโ assets/ # Static assets
โโโ server/ # Django backend
โ โโโ matcher/ # Main application
โ โ โโโ models.py # Database models
โ โ โโโ views.py # API endpoints
โ โ โโโ services/ # Business logic
โ โ โ โโโ enhanced_crawler.py
โ โ โ โโโ ollama_client.py
โ โ โ โโโ enhanced_university_matcher.py
โ โโโ student_profiles/ # Generated profiles
โโโ requirements.txt # Python dependencies
- Backend: Django 4.2+, Django REST Framework
- Frontend: React 18, Material-UI, Vite
- AI: Ollama, Local LLM integration
- Web Crawling: BeautifulSoup, Requests
- Database: SQLite (development), PostgreSQL (production)
- Real-Time Web Crawling: Unlike competitors using static data, we crawl live
- AI-Powered Analysis: Uses local LLM for intelligent content understanding
- Explainable Recommendations: Every match comes with detailed explanations
- Comprehensive Profiling: Supports resume/cover letter analysis
- Live Progress Tracking: Real-time updates during the matching process
- Multi-threaded crawling with intelligent prioritization
- Graceful fallback when AI services are unavailable
- Responsive real-time UI with progress indicators
- Comprehensive API with detailed documentation
- Scalable architecture ready for production deployment
- Resume Parsing: Automatic extraction of skills and experience from resumes
- Faculty Matching: Direct matching with specific faculty members
- Application Tracking: Integration with application deadlines and requirements
- Social Features: Student community and peer recommendations
- Mobile App: Native mobile applications for iOS and Android
We welcome contributions! This project was built for a hackathon but is designed to be extensible and maintainable.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Ollama Team for providing excellent local LLM capabilities
- Django & React Communities for robust frameworks
- University Websites for providing the data that makes this possible
Built with โค๏ธ for students seeking their perfect university match
This project demonstrates the power of combining AI, web crawling, and intelligent algorithms to solve real-world problems in education.