Inspiration
Finding the right graduate program can be overwhelming: endless university pages, unclear fit, and time-consuming searches. As students ourselves, we wanted a smart academic companion that could read our resumes, understand our backgrounds, and instantly suggest programs that truly match our research interests.
What it does
- Extracts your academic focus and skills using Claude on AWS Bedrock.
- Searches .edu domains via Google Custom Search to find relevant graduate programs.
- Displays recommended programs — complete with names, descriptions, and links.
- Matches faculty whose research aligns with your interests
How we built it
Frontend: Vue 3 + Vite — for a clean, reactive upload interface. Backend: FastAPI (Python) — handling resume uploads, parsing, and API orchestration. AI Layer: Claude 3 Haiku/sonnet on AWS Bedrock — extracting summary and field of study. Search Layer: Google Custom Search API — surfacing top programs from verified university websites. Integration: S3 storage and modular service design for future scalability.
Challenges we ran into
Claude (Bedrock) doesn’t have web access, so we had to summarize search results via Google API instead. JSON parsing from AI responses — needed strict formatting rules to avoid decode errors. Balancing token usage and context limits when sending resumes or long search results. Handling file upload pipelines smoothly between Vue frontend and FastAPI backend.
Accomplishments that we're proud of
- Fully functional AI-to-frontend pipeline — from PDF upload → Claude summary → live recommendations.
- Seamless Vue ↔ FastAPI integration using async form-data handling.
What we learned
How to integrate AI + traditional APIs (Google Search) to overcome model limitations. Practical lessons in building AI-powered workflows that are explainable and stable.
What's next for UniPath AI
click on a program → parse its requirements in real time (checkout production branch) Tracks application progress and stores user profiles via unique user IDs
Log in or sign up for Devpost to join the conversation.