Inspiration

Cold‑emailing professors is intimidating and time‑consuming. Most students don’t know where to start or how to personalize their outreach. We wanted to reduce the friction and help students discover research opportunities more equitably.

What it does:

Intake: resume upload + short conversational profile Matching: finds professors based on research areas and publications Drafting: generates personalized outreach emails Sending: integrates with Gmail for final review and send How we built it:

Frontend: Next.js 16 (TypeScript, Tailwind) Auth: Google OAuth (NextAuth) Backend: FastAPI microservice with LangChain/LangGraph Data: MongoDB Atlas, Semantic Scholar, Firecrawl pipeline AI: Gemini models for parsing/matching/drafting Challenges:

Balancing speed with personalization Cleaning noisy scraped faculty data Managing auth + Gmail permissions cleanly Latency across multiple services Accomplishments we’re proud of:

End-to-end flow from intake → match → draft Clean, user-friendly UI for a complex workflow Realistic matching demo with explainability Modular services (web + agent + pipeline) that can scale What we learned:

Prompt orchestration and state management in LangGraph Building multi-service systems under time pressure Designing UX that reduces anxiety around cold outreach What’s next:

More universities and disciplines Student profiles with saved searches Stronger match explainability + feedback loops

Built With

Share this project:

Updates