The Problem
Navigating the academic journey at Penn State can be daunting. Students spend countless hours cross-referencing information between the LionPath interface, RateMyProfessor reviews, dense University Bulletins, and recommended major pathways. This fragmented process is time-consuming, stressful, and often leads to poor course selections, potentially impacting GPA, graduation timelines, and overall college experience. There's currently no unified, intelligent solution to simplify course planning and scheduling tailored to individual Penn State students.
The Solution
Introducing CourseConnect, a streamlined platform designed to revolutionize how Penn State students plan their academic careers. CourseConnect aims to eliminate the research grind by providing personalized course recommendations based on a student's actual academic record. By simply uploading their transcript, students receive tailored suggestions incorporating factors like course difficulty, professor ratings (via RateMyProfessor data), Gen Ed requirements, and major/minor progress. The result is an intuitive interface that presents not just the next semester's schedule, but a potential four-year path, empowering students to make informed decisions effortlessly.
Our Technology
CourseConnect uses Google's Gemini API for accurately extracting completed courses, credits, and grades from uploaded PDF transcripts, understanding complex degree requirements based on scraped Bulletin information and major pathways, and generating optimal course suggestions considering prerequisites, student preferences (time of day, online/in-person), interests (for Gen Eds), and professor quality metrics.
Our backend infrastructure involves scraping Penn State's course scheduler, University Bulletins, and recommended major pathways. This data, combined with user-specific information and preferences gathered during onboarding, feeds into the Gemini API. User data and scraped information will be managed via a RESTful API, connecting to our backend services. The frontend aims to deliver a clean, user-friendly web interface, potentially built with [mention framework like React, Vue, etc. if decided, otherwise keep general].
Our API allows for user session management (/session), transcript upload (/user/transcript), preference setting (/user/preferences), retrieving user info (/user), fetching the recommended semester schedule (/schedule), and getting a full 4-year path (/path).
Challenges and Solutions
We ran into many challenges creating this, the biggest one was overestimating Gemini's context window and not being able to feed it all of our data. We overcame this by carefully hand selecting the most important data and only giving it what it needs. Another challenge was scraping and maintaining up-to-date information from various Penn State sources (LionPath structure, Bulletins, RMP) is a significant challenge due to potential website changes and anti-scraping measures. To address this we developed scraping scripts with error handling, potentially incorporating manual verification steps, and designing a flexible database schema to accommodate data variations.
Making effective prompts for the Gemini API to accurately interpret academic transcripts and complex degree rules required significant iteration and testing. We had to implement a rigorous testing cycle for prompt variations, focusing on edge cases and ensuring the structured output meets our application's needs. Merging data from transcripts, scraped sources, user preferences, and real-time availability required careful system design. We developed a clear data flow and robust backend logic to sort these diverse inputs into actionable recommendations.
Lastly, balancing the MVP (transcript import, basic recommendations) with the ideal feature set (RMP integration, schedule view, full onboarding) within a hackathon timeline is demanding. We had to prioritize core functionality (MVP) first, building a solid foundation before adding advanced features.
Accessibility
We aimed to build Course Connect with accessibility in mind from the start. This includes adhering to WCAG guidelines for web content, ensuring proper color contrast, logical content flow, sufficient font sizes, and keyboard navigability. Our goal is to create an interface usable by all students, including those using screen readers or other assistive technologies.
Accomplishments that we're proud of:
- Successfully designing the core concept and architecture for Course Connect
- Developing the initial API structure for user management, transcript upload, and recommendation retrieval
- Setting up the initial framework for scraping essential Penn State academic data
- Exploring and integrating the Google Gemini API for the core recommendation logic
- Defining a clear and user-centric onboarding process
What we learned
- The intricacies of Penn State's academic data landscape and the challenges involved in unifying it
- Effective techniques for interacting with large language models like Google Gemini for specific, structured tasks
- The importance of robust data scraping strategies and error handling
- How to design a scalable backend API to support a complex recommendation engine
- The value of prioritizing MVP features under tight deadlines while keeping the larger vision in mind
Operationalization (Future Plans)
Post-hackathon, we envision expanding Course Connect significantly:
- Full Feature Implementation: Build out the ideal features, including direct RateMyProfessor scraping and integration, Gen Ed recommendations based on the interest survey, and a visual calendar view for proposed schedules
- Algorithm Refinement: Continuously improve the Gemini-powered recommendation engine based on user feedback and evolving course data
- Enhanced User Profiles: Allow users to fine-tune preferences, track degree progress visually, and explore different major/minor scenarios
- UI/UX Polish: Iterate on the user interface to ensure it's intuitive, visually appealing, and highly efficient
- Expansion: Adapt the platform to support students at other universities, requiring modular data source integration
- Real-time Data: Explore possibilities for integrating real-time course availability from LionPath (if feasible and permitted)
Built With
- amazon-web-services
- cloud]
- css3
- docker
- firebase]-?-api:-rest
- html5
- if
- javascript]-?-data-scraping:-[e.g.
- json-?-infrastructure:-[e.g.
- kubernetes
- mention
- mongodb
- node.js
- oracle-cloud
- postgresql
- puppeteer]-?-database:-[e.g.
- python-(beautifulsoup
- python-(flask/django)]-?-frontend:-[e.g.
- react
- scrapy)




Log in or sign up for Devpost to join the conversation.