Explore 500+ universities Β· 10,000+ professors Β· 20+ research areas Β· 60+ countries
An intelligently designed, beautifully crafted platform that aggregates global Computer Science graduate program data from CSRankings.org and supercharges it with a built-in Google Gemini AI advisor β so you can find your dream university, the perfect professor, and get personalized admission insights, all in one place.
π Get Started Β· β¨ Features Β· πΈ Screenshots Β· ποΈ Architecture Β· π€ Contributing
Applying to grad school is overwhelming. You're juggling hundreds of university pages, sifting through faculty lists, comparing GRE/TOEFL requirements, and trying to match your research interests to the right professors β all while wondering if you're even a good fit.
This portal solves that. It puts every piece of information you need in a single, gorgeous interface β and backs it up with an AI advisor that actually understands your profile.
Search across universities, professors, countries, and regions β all in real time with instant results.
- Global Coverage β Browse universities across 60+ countries spanning North America, Europe, Asia, Australasia, South America, and Africa.
- Instant Fuzzy Search β Type a university name, professor, or country and see results filter in real time.
- Geographic Filtering β Narrow down by region and country with cascading dropdown filters.
Select your research interests and instantly see which universities and professors align with your goals.
- 22 Research Areas β From Machine Learning and Computer Vision to Cryptography, Robotics, HCI, and Bioinformatics.
- Color-Coded Tags β Each research area has a unique, vibrant color for instant visual recognition.
- Professor-Level Matching β When you select interests, each university card shows exactly how many professors match, and expanding the card reveals which professors and which of their publication venues triggered the match.
- Multi-Interest Support β Select multiple interests simultaneously to find interdisciplinary programs.
A conversational AI chatbot powered by Google Gemini 2.5 Flash, always one click away.
- Floating Action Button β The "β¨ AI Advisor" button is always accessible in the bottom-right corner.
- Contextual Chat β Ask questions like "Best universities for NLP research?", "Compare ML programs in USA vs Europe", or "What are the GRE requirements for MIT?"
- Resume/CV Analysis β Upload your PDF resume or transcript directly into the chat. The AI parses it client-side using
pdfjs-distand recommends specific universities and professors tailored to your background. - Conversation Memory β The chatbot maintains context across your conversation for follow-up questions.
- Quick Suggestion Chips β Pre-built prompts to help you get started instantly.
Expand any university card to reveal a wealth of information.
- AI-Generated Admission Requirements β Click "Ask Gemini" on any university to dynamically fetch real-time data on degree programs, GRE requirements, TOEFL/IELTS minimums, and GPA expectations.
- Full Faculty Directory β Scrollable grid of every professor with their name, research venues, and a direct link to their homepage.
- Research Area Tags β See all research interests covered by a university at a glance.
A UI that feels as good as it looks.
- Glassmorphism Design β Frosted glass card surfaces with subtle blur effects and soft shadows.
- Dark & Light Mode β Toggle between a sleek dark theme and a clean light theme with a single click. Your preference is saved to
localStorage. - Smooth Micro-Animations β Hover effects, card lift transitions, pulsing match badges, and animated typing indicators.
- Fully Responsive β Pixel-perfect on mobile, tablet, and desktop.
The Gemini AI Advisor panel open alongside the main dashboard, recommending top NLP universities with specific professors and research justifications.
An expanded university card showing color-coded research interest tags, the "Hide Details" toggle, and Gemini-powered admission insights including degree programs, GRE policy, and TOEFL/IELTS requirements.
The full faculty grid with professor names and publication venues, plus the "Ask Gemini for Specifics" button to dynamically fetch real admission requirements for any university.
Detailed AI-generated admission data β degree programs offered, GRE requirements, English proficiency minimums (TOEFL/IELTS), and GPA expectations β alongside the full faculty directory below.
Upload your resume and the AI recommends specific universities and professors tailored to your background β with detailed explanations of why each is a great fit.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser (Client) β
β β
β ββββββββββββ ββββββββββββββββ βββββββββββββββββββββββββ β
β β React 18 β β pdfjs-dist β β CSS Glassmorphism β β
β β App.jsx β β (PDF parser) β β Dark/Light Themes β β
β ββββββ¬ββββββ ββββββββ¬ββββββββ βββββββββββββββββββββββββ β
β β β β
β β POST /generate, /chat, /recommend-profile β
β βββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β Vite Dev Server (Middleware) β
β β β
β βββββββββββββββΌβββββββββββββββ β
β β aiApiPlugin (vite.config) β β
β β β’ /generate β Gemini API β β
β β β’ /chat β Gemini API β β
β β β’ /recommend β Gemini API β β
β βββββββββββββββ¬βββββββββββββββ β
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β βΌ β
β Google Gemini API (v1beta) β
β Models: 2.5-flash β 2.5-flash-lite β 2.0-flash β
β (automatic fallback chain) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + Vite | Component-based UI with hot module replacement |
| Styling | Vanilla CSS | Glassmorphism, CSS variables, responsive design |
| AI Proxy | Vite Plugin (Custom Middleware) | Securely proxies Gemini API calls β API key never reaches the browser |
| AI Engine | Google Gemini 2.5 Flash | Admission insights, chat, and profile recommendation |
| PDF Parsing | pdfjs-dist | Client-side resume text extraction β no data sent to third parties |
| Data Source | CSRankings.org (Pre-processed JSON) | 500+ universities, 10,000+ faculty, 20+ research areas |
| Icons | Lucide React | Lightweight, consistent icon set |
| Requirement | Version |
|---|---|
| Node.js | v16+ |
| Google Gemini API Key | Free tier works |
# 1. Clone the repository
git clone https://github.com/code-with-idrees/CS-Universities-Admission.git
cd CS-Universities-Admission
# 2. Install dependencies
npm install
# 3. Fetch and build the database locally
npm run update-data
# 4. Set up your environment
cp .env.example .env
# Then edit .env and add your Gemini API key:
# VITE_GEMINI_API_KEY=your_key_here
# 5. Start the dev server
npm run devOpen http://localhost:3000 in your browser. That's it β you're in! π
| Command | Description |
|---|---|
npm run dev |
Start development server with AI middleware |
npm run build |
Build for production |
npm run preview |
Preview the production build locally |
npm run update-data |
Re-fetch and process latest data from CSRankings |
CS-Universities-Admission/
βββ public/
β βββ data/
β βββ processed-universities.json # Pre-processed university data (8MB)
βββ src/
β βββ components/
β β βββ GeminiChat.jsx # AI chatbot drawer with PDF upload
β β βββ UniversityList.jsx # University card grid with expansion
β β βββ InterestFilter.jsx # Research interest pill selector
β β βββ FilterBar.jsx # Region & country dropdowns
β β βββ ProfileUploader.jsx # Resume upload + AI recommendations
β β βββ SearchBar.jsx # Global search component
β β βββ Sidebar.jsx # Sidebar navigation
β βββ services/
β β βββ groqService.js # API service with fallback logic
β βββ data/
β β βββ programs.js # Research areas, country maps, colors
β βββ App.jsx # Root component with state management
β βββ main.jsx # React entry point
β βββ index.css # Full design system (800+ lines)
βββ vite.config.js # Vite config + Gemini AI proxy plugin
βββ .env.example # Environment variable template
βββ package.json
- API Key Protection β The Gemini API key lives exclusively in
.envand is proxied through a server-side Vite middleware plugin. It is never exposed to the client-side bundle. - Client-Side PDF Parsing β Resume/CV files are parsed entirely in the browser using
pdfjs-dist. No file data is ever sent to external servers β only the extracted text is passed to the AI. .envis gitignored β Your API keys will never be committed to version control.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
# Fork β Clone β Branch β Code β Push β PR
git checkout -b feature/amazing-feature
git commit -m "feat: add amazing feature"
git push origin feature/amazing-featureThis project is licensed under the MIT License β see the LICENSE file for details.
Built with β€οΈ by Muhammad Idrees
University and faculty data sourced from CSRankings.org under the CC BY-NC-ND 4.0 license. Β· AI powered by Google Gemini
β If this project helped you, give it a star! β