Inspiration

The motivation for our project primarily stemmed from our own frustrations with Albert that we encounter every semester when trying to choose classes. The most common of these being that the interface provides no options to visualize your schedule in real-time or see how classes would fit together/clash. Over the years, this has meant that students usually resort to their own unique ways of getting around this inconvenience and putting together their class schedule. For instance, one student said they open two albert tabs at once to keep track of class timings and clashes, another said they manually add all the classes they’re interested in to a notion calendar as they’re browsing while others simply make excel spreadsheets to keep track of their course.

What it does

This is exactly where Help Albert comes in. Our chrome extension allows you to simply select classes you're interested in as you’re browsing and automatically adds them to a calendar popup that shows you how all the courses you’ve selected so far would fit together, whether they would clash etc. On top of that, it also eliminates the need for students to manually look up each class on facebook ROR to check for course reviews while they’re browsing. With Help Albert, we simply have a database of all course reviews so far [scraped from facebook] and students would be able to access it using a simple ‘checkout review’ button that queries the database and displays all previous of the class along with the Professor they took it with. Additionally, the ‘Add review’ functionality would also allow students to add reviews directly to the database when they're on Albert so that they can be viewed later.

How we built it

For the backend, we built this using python flask as a server and mongoDB database and hosted it on Heroku. For the purposes of the hackathon, we manually entered a sample of previous student reviews from Facebook into the database but our vision is that this will be later automated by scraping data from ROR using the facebook API. In terms of the chrome extension, we created this using html, CSS, and javascript after self-learning and we made the calendar using open-source html, css and react code that we modified to fit our application.

Challenges we ran into

The first challenge we ran into was coming up with the idea itself. We wanted to start a project that would be would be useful for as many students as possible while also being feasible to implement in 24 hours. This required us to work with languages we were unfamiliar with such as JavaScript and JS-react and also learn how to make chrome extensions from scratch.

Accomplishments that we're proud of

While the implementation is not entirely complete yet, we're very proud of the fact that this is a tool that each of us is actually very excited about using in our own day-to-day lives. Additionally, based on student surveys, we were able to confirm that this tool would actually be very practical for the wider student body as well considering how they are currently navigating course registration. Overall, during this hackathon, we created a chrome extension from scratch, grew our proficiency in several languages and learned technologies that were completely new to us. We were also exposed to the ideation process as well as the constraints and difficulties in coming up with a practical idea and planning out the implementation.

What we learned

Aside from the programming languages we learned on the fly and the fact that we learned how to make a chrome extension from scratch, a major lesson was that sleeping for only 2 hours after drinking multiple energy drinks gives worse hangovers than alcohol (not that we would know).

What's next for Help Albert

Beyond the functionality we've implemented so far, there are quite a few features we’re very eager to implement. These are as follows:

  • Add functionality to make help Albert add the finalized class list to students’ shopping cart
  • Add functionality that allows students to prioritize classes based on their major and required courses for the semester:
    • Calendar would be color coded to flag required classes
    • Prerequisites for the class would also be flagged and included as details on the calendar
    • Clashing would be handled differently on the calendar visualization depending on if its clashing with a requirement or not.
  • Visuals: The calendar would be interactive, where it would display additional class information and flag prerequisites in a popup when a student clicks on a class Students can also directly delete and add classes from the calendar popup rather than from the albert page.
  • Implement upvote and downvote functionality for reviews and sort them based on that so that students can see the most relevant ones first.
  • Rather than having a manually compiled database of previous course reviews, implement functionality that uses the facebook API to automatically scrape this data from facebook. (this would help with maintaining the database in the future as well).
Share this project:

Updates

Submission history