Inspiration
Every semester, thousands of UMD students want to get involved in research but have no efficient way to find professors whose work actually matches their background. I personally spent weeks sending the same generic cold email to professors with little to no response. I realized the problem wasn't my qualifications it was that I had no way to show professors I genuinely understood their research. That frustration became Terpify.
What it does
Terpify is an AI-powered research matchmaking platform built exclusively for UMD students. Students upload their resume, and Terpify parses it to extract research interests, ML methods, skills, and tools. It then semantically matches the student against real UMD professor profiles and their published papers, returning a ranked list of Strong, Moderate, and Exploratory matches with match scores. Students can view exactly which papers align with their background and instantly generate a personalized cold email referencing that specific paper. Terpify also includes TerpAI a GPT-4o powered conversational assistant that helps students discover research opportunities naturally, like talking to a real advisor.
How we built it
The frontend is built with React and Next.js. The backend runs on FastAPI in Python. Resumes and professor papers are both converted into vector embeddings using sentence-transformers, and cosine similarity scores are computed to rank the best matches. Professor data and publications were scraped and structured into a custom UMD faculty database. Claude AI handles personalized email generation with full context about the student and the paper. TerpAI is powered by GPT-4o via the OpenAI Assistants API with a custom system prompt tailored for UMD research discovery.
Challenges we ran into
Scraping and structuring a clean, comprehensive UMD professor database with accurate publication data was the biggest challenge. Ensuring the semantic matching was meaningful not just keyword-based required careful embedding and scoring design. Getting the email generation to feel genuinely personalized rather than generic also took significant prompt engineering. Connecting all the pieces frontend, backend, AI APIs into one seamless, real-time experience under time pressure was challenging but rewarding.
Accomplishments that we're proud of
Building a fully functional end-to-end product in a short time that solves a real, painful problem for UMD students. The semantic matching pipeline that understands meaning beyond keywords. The email generation that produces emails that actually sound human and specific. And TerpAI a conversational research advisor available to every Terp 24/7.
What we learned
How to build and apply semantic embedding pipelines for real-world matching problems. Effective prompt engineering for contextual, personalized AI outputs. How to design a product that balances technical depth with a clean, approachable user experience. And honestly how to move fast and ship something real.
What's next for Terpify
Expanding to universities beyond UMD. Adding real-time professor availability and open RA position data. Building student profiles so matches improve over time. Integrating email tracking so students know if a professor opened their email. And making TerpAI even smarter with memory across conversations.
Built With
- beautiful-soup
- claude-ai
- cosine-similarity
- fastapi
- gpt-4o
- next.js
- openai-assistants-api
- pinecone
- python
- react
- rest-apis
- restapis
- sentence-transformers
Log in or sign up for Devpost to join the conversation.