Inspiration
Planning a CS degree involves more than choosing the next required course. Students also have to consider their interests, career goals, extracurricular opportunities, and the time they have available.
We wanted to bring those decisions together in one place. Rutgers-CS-Journey helps Rutgers–New Brunswick students explore an academic path that makes room for both classes and community.
What it does
Rutgers-CS-Journey recommends courses and clubs based on a student’s completed coursework, interests, and goals. It narrows the options to up to two recommendations in each category, with explanations and supporting sources.
Students can upload a transcript, review the extracted course codes, and enter the weekly study hours they spent on each course. This adds personal context to recommendations without assuming that grades alone reveal how demanding a course was.
The app also includes a conversational course-sequence planner, semester-balance coaching, and a guide to Rutgers clubs and first-year opportunities. Recommendations highlight missing information and requirements that students should confirm with an advisor.
How we built it
We built the frontend with HTML, CSS, and JavaScript, and the backend with Python and FastAPI. Our LangChain agents use Gemini to interpret student requests, rank recommendations, support semester planning, and provide coaching.
The recommendation workflow combines two retrieval steps: finding relevant candidates in our source-linked starter catalog, then gathering related prerequisite and program information before ranking them. Python validation checks course IDs, duplicate recommendations, and supporting citations.
We organized agent implementations, Python prompt strings, and reusable tools into separate folders. Transcript parsing runs locally on the application server, followed by a review pop-up where students confirm their courses and report study hours. Raw transcript text and grades are excluded from recommendation model requests.
Challenges we ran into
One challenge was separating information we could verify from information we did not yet have. Our starter catalog does not contain every prerequisite, current offering, club meeting time, or course workload estimate. We needed to make those gaps visible instead of letting the AI fill them in.
Another challenge was workload personalization. Grades do not tell us how many hours a student studied, so we added direct student input and kept historical study hours separate from future workload predictions.
We also had to handle transcript ambiguity, including repeated courses, unfamiliar formats, and uncertain completion status. Giving students a chance to review and correct the results became an essential part of the workflow.
Accomplishments that we're proud of
We built a connected experience for course planning, club discovery, and reflection on semester balance.
We are especially proud of the modular agent architecture, the transcript review flow, and the validation that checks recommendations before returning them. Our automated test suite includes 16 passing tests covering core recommendation rules, transcript handling, workload summaries, tool behavior, and API integration.
What we learned
We learned that useful AI recommendations depend on clear inputs, reliable evidence, and explicit limits.
We also learned where agents help most: interpreting goals and explaining choices. Tasks such as checking prerequisites, validating course codes, and calculating summaries benefit from predictable code.
Most importantly, personalization requires asking students about their experience—not making assumptions from their grades.
What's next for Rutgers-CS-Journey
We want to expand the verified course catalog and add current course offerings, club schedules, and campus travel constraints.
Our next major step is collecting credible course workload data so we can offer estimated weekly study-hour ranges with clear sources and uncertainty. We also want students to compare alternate roadmaps and see how postponing a course or changing their available study time affects their options.
Before broader use, we plan to validate live model responses and test the experience with Rutgers students. Their feedback will help us turn this prototype into a more useful planning companion.
Built With
- css
- fastapi
- git
- google-gemini
- html
- javascript
- langchain
- pydantic
- pypdf
- pytest
- python
Log in or sign up for Devpost to join the conversation.