Inspiration
Each of us noticed how difficult planning got when registration time came around each semester. Having to have a custom-made 4-year plan, the schedule of classes, and your degree audit open on separate tabs gets confusing, hard to manage, and takes a lot of time.
What it does
Terpsicle combines the functionality of a 4-year planner, a CS major degree audit, and a semester-schedule planner into one app. Changes made to the 4-year plan are reflected in the audit and your data when the page is reloaded without the need for a server. To get started quickly, you can copy and paste your unofficial transcript to fill in the classes you’ve already taken!
How we built it
We used Next.js and React to create a serverless site that can be updated with your course information. Web scraping and parsing are used to get information from your transcript and the schedule of classes, to make sure the information displayed is accurate. Courses are fetched dynamically when adding to the schedule builder, and the sections the user chooses are stored locally and displayed with a calendar layout. All changes made are saved in your browser’s local storage so that they persist between sessions.
Challenges we ran into
- There were many inconsistencies in cross-listings, gened. credits, and graduation requirement categories.
- The Schedule of Classes had inconsistent formatting that led to parsing difficulties
- Displaying courses in the schedule builder as a calendar required special care with how to calculate offsets for elements based on their times of day — dealing with the CSS here was not particularly early.
Accomplishments that we're proud of
- 1000+ lines of graduation requirement logic
- Transcript can be pasted into the website and automatically loads every class taken
- Good new user experience
- Data successfully reading/writing between pages written by different team members
- Intuitive UI/UX for adding and displaying courses to the schedule builder
What we learned
- Hot to use TypeScript and web technologies to develop a web app
- How complicated CS/GenEd graduation requirements are
- How to store and read lots of information via local storage
- How to create dynamically updating react components
- The value of linting code during development
What's next for Terpsicle
To start factoring in other concentrations of majors/minors, more than just CS, and making it usable for all students. The goal is to ease the stress of many who are consistently alt-tabbing to figure out their future academic plan, and we want all areas of studies to benefit from this project. We also want to add additional features such as upcoming registration info, possible time conflicts, or even extra pathways that might fit into one’s 4-year plan.
Built With
- nextjs
- react
- vercel

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