About the Project
This project was inspired by the difficulty many Indian master’s students face when searching for fully funded PhD positions in AI/LLMs. Opportunities are scattered across platforms, deadlines change constantly, and verifying whether positions are open to international applicants often requires manual effort. To solve this, I built an automated weekly pipeline that consolidates high-quality, verified PhD openings based on strict eligibility criteria.
What I Built
Using Comet-based automation, the system crawls multiple sources—LinkedIn, X.com, Reddit, and official university/lab websites—and filters opportunities using predefined rules:
- Fully funded PhD positions only (tuition waiver + stipend)
- Fields: LLMs, AI/ML, NLP, multimodal, safety, domain-specific LLMs
- Open to internationals/Indian applicants
- Posted within 30 days, deadlines within 90 days
- Verified from official or reputable sources
The pipeline extracts consistent structured fields such as university, lab, funding, deadlines, focus areas, requirements, and visa notes. Data is exported in two formats: (A) clean tables for easy review, and (B) a full JSON schema.
How I Built It
- Automated web data collection with scheduled weekly runs
- Rule-based filtering and validation
- Parsing text into structured fields using regex + LLM assistance
- Output formatting into tables and JSON schema
What I Learned
- Designing reliable automations for changing web content
- Building consistent schemas for unstructured academic postings
- Filtering academic opportunities with precise, reproducible criteria
Challenges
- Posts across platforms vary in format, making extraction non-trivial
- Ensuring only verified, official PhD openings are included
- Maintaining accuracy given frequent changes in deadlines and funding details
Overall, this project streamlines a time-consuming search process and provides actionable, structured insights for students seeking PhD positions in cutting-edge AI research.
Built With
- comet
Log in or sign up for Devpost to join the conversation.