Inspiration
When I started college, I created a 4 year plan manually using Excel and swapping tabs back and forth between course syllabus and college requirements. It was tedious work!
Advisors would be busy and have limited timeslots. Graduation checklists had to be manually updated. I sometimes forgot about a course.
So it got me thinking, wouldn't it be great if an AI agent and good ol' fashioned scheduling algorithms could help you plan your future semesters?
What it does
With SAPPI: the friendly Semester Agenda Personal Planning Intelligence, you can let your education take root and grow. SAPPI is both a web-page and PatriotAI agent.
On the web page, you can see dynamic tables updated using your current/past classes to see remaining course requirements as well as the most optimized schedule to help you graduate. You can also "talk" to SAPPI using the PatriotAI platform.
As an AI agent, SAPPI is fed the latest information about pre-requisites, course descriptions, credits, and other GMU webpage information. It can not only help you plan multiple semesters (something PatriotScheduler can not do), it will also suggest courses you may be interested in (saving you a trip to the advisor).
How we built it
To build the web page, we used Python with HTML/CSS/Javascript to create the web-pages and Flask to run the actions and connectivity to MongoDB. MongoDB Compass was underlying the webpage data (for all tables and personal information) to help provide a more dynamic experience.
To build SAPPI, I used BeautifulSoup from Python to scrape all GMU webpages containing course information for ALL majors. Then for ALL courses, I (along with ChatGPT but mostly me LOL) brainstormed a way to parse the prerequisite information to construct all possible course pathways. Next, I fed all prerequisite information into text files for each major, and fed a couple of CS-related major text files into the agent-creator. Lastly, I also searched a couple of web pages from GMU related to the CS department to provide a Internet based resource as well.
Fun fact: PatriotAI also supplied the "dummy" data I used for MongoDB!
Challenges we ran into
Parsing the prerequistes was unexpectedly hard! I learned a lot of techniques and wish I had taken a compilers course! ChatGPT was unhelp in some ways in that it would incorrectly parse most examples, and I had to work on spending time to handle edge cases related to parentheses and boolean parsing.
I also realized you could only upload 20 documents to PatriotAI, which narrowed down the scope of the project to just focusing on CS help (for now).
Accomplishments that we're proud of
I was able to finish my idea and prototype all by myself! I also liked how I was able to integrate AI solutions while debugging and fact checking the solutions through test cases to improve the functionality of my parsing code.
I also am super proud of SAPPI and the way it looks/works in PatriotAI!
What we learned
I learned a lot about parsing techniques, and had a refresher on Flask and MongoDB.
More importantly, I learned how to work with AI tools to create a solution fast!
SAPPI as a startup
SAPPI is built to be scalable. While the product currently is specific to GMU, it got me thinking about how many universities and high schools rely on manual work by administrators to advise students on how to plan their course schedule.
Given how easy it is for students to talk to SAPPI or explore the website and how tedious it is for universities to maintain their own infrastructure, SAPPI could become the next best education tech.
Like how Blackboard is being switched to Canvas, SAPPI will digitize the way we provide assistance to students and free up admin workloads.
What's next for SAPPI: Semester Agenda Personal Planner Intelligence
As SAPPI goes from a tree to a forest, SAPPI still has a bit of places where it could use a little bit of watering.
- SAPPI could use scheduling algorithms and recursive logic to determine a better semester plan.
- I would like to integrate PatriotAI into the webpage rather than redirecting.
- Better UI/UX design! I am not an artist LOL
- Move from local hosting to cloud/server hosting

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