Course Registration Sucks. You missed your prereq. You can't study abroad now.

PlanEdu solves this

🧩 Course Recommender Engine — Hybrid system (Python) combining embeddings + Hub coverage.

🎓 Hub Tracker — Dynamic display of completed vs. missing Hub requirements.

💫 Swipe UI — Interactive Tinder-style frontend for course discovery and feedback.

🗃️ Database Integration — Centralized tracking for user profiles, courses, and hubs.

🌍 Study Abroad Option Integration — Match abroad courses to BU Hub equivalents and majors.

🧮 Greedy Schedule Planner (CP-SAT) — Optimizes semester schedules to cover missing Hubs in minimal time and credit load.

Inspiration

We were inspired by the universal stress every Boston University student faces during registration. Planning a 4-year schedule involves juggling complex major requirements, Hub units, prerequisites, and endless RateMyProfessor tabs across a dozen different spreadsheets and websites. We knew we could build an AI-powered tool to simplify this entire chaotic process into a single, intelligent platform.

What it does

PlanEdu is an intelligent 4-year course planner for BU students. It centralizes all BU course data, prerequisites, and RateMyProfessor ratings into one app. A user inputs their major, incoming credits, and graduation goals, and our AI generates a balanced, semester-by-semester schedule. Users can also ask our AI chatbot for class recommendations ("What's an easy Hub class?"), 'swipe' on interesting courses, and bookmark their favorites to build the perfect plan.

How we built it

We built PlanEdu in 30 hours with a modern tech stack. The frontend is built with React, TypeScript, and Mantine UI for rapid, responsive, and theme-able component development. The backend consists of Python scripts to scrape the BU course catalog and RateMyProfessor, which are then served by a Node.js and Express API. We integrated the Gemini API to power our AI chatbot and provide intelligent schedule recommendations.

Challenges we ran into

Our biggest challenge was data integration. Collecting the complex, multi-page BU course catalog and then programmatically matching those courses to their corresponding RateMyProfessor pages was a significant backend hurdle. On the frontend, we ran into several challenges with the newest version of Mantine (v7), debugging breaking changes and managing a complex, type-safe state across five different tabs. We also struggled with the initial UI/UX design, which was very bland at first, forcing us to quickly find ways to fill the blank space and create a more engaging, professional look, all under the 30-hour deadline.

Accomplishments that we're proud of

We are incredibly proud of building a fully functional, 5-tab application with a polished, BU-themed UI in just 30 hours. A major accomplishment was successfully scraping and centralizing two completely separate and messy data sources. We're also proud of our AI chatbot, which provides genuinely useful, context-aware answers to real student questions.

What we learned

We learned a ton about rapid frontend development with Mantine v7, especially how to debug breaking changes, manage a component-based architecture, and ensure type-safety with TypeScript. We also learned the complexities of web scraping and the importance of a clean data structure. Most importantly, we learned how to effectively prioritize features and delegate tasks as a team to ship a functional product in an extremely short timeframe.

What's next for PlanEdu

The next step is to go beyond generation and into collaboration. We plan to implement the "friends" feature, allowing users to share schedules and see who's in their classes. We also want to refine the AI to not only create a schedule but to intelligently adjust it based on user feedback (e.g., "make my sophomore fall semester lighter"). Finally, we'd love to integrate study abroad data and expand PlanEdu to other universities.

Share this project:

Updates