Inspiration
In the modern age, the quest for developing expertise in any particular domain has become a long and arduous process. Although the demand for technical skills has skyrocketed in recent years, rising costs for higher education and textbooks have greatly hindered access to the lessons needed to master them. In light of this, many students, ourselves included, have turned to the Internet and its seemingly infinite number of tutorials and courses to learn what we can without emptying our pockets. There's just one problem: we're absolutely overwhelmed by the sheer number of courses available, not to mention that they are scattered among many providers.
What it does
CourseLoad provides its users with a database that brings courses from numerous online learning providers into one easily accessible and customizable interface. Our database utilizes IBM's Watson in order to ensure an intelligent and effective course ranking system. Watson's natural language understanding capability allows us to recommend the best courses for our users based on important key words in the course descriptions. When users search a term on CourseLoad, we use Watson's data to present users with a list of courses from multiple online learning providers ranked in the best order for their specific needs. CourseLoad is a highly usable webapp designed with the user in mind. We made sure to include filters for level of difficulty, price range, course duration, and keywords in order to allow the user to customize his or her search and find the best course possible.
How we built it
We built the application from both ends to meet in the middle. Three of us were working on the back end, compiling data from the providers we are using into a form acceptable in the database. The other two of us were working on the front end, designing the UI and integrating flask, as well as providing sockets for the database information to plug in to. We met in the middle in the last few hours to merge database format and calls, although we were constantly communicating throughout the hackathon, checking in with one another and taking every aspect into account.
Challenges we ran into
As new users of the flask framework for python, there were many challenging concepts to grasp. Flask is a language that basically plugs in to html to allow its users to generate either static or dynamic content. Our biggest challenge for this portion of the project was integrating flask in an elegant way into our UI, in order to dynamically load content that was still appealing to the eye. It took a lot of learning and trial and error, but eventually we put together a front-end that we are very proud of. Combining the usability of our UI and the very intricate back end development was very challenging, as, often times the most usable design is the most difficult to create on the back end.
Accomplishments that we're proud of
We are most proud of the effective implementation of such a large project in such a short amount of time. We stayed up the full 25 hours, working extremely diligently to complete this project, and actually finishing it was a tremendous accomplishment. Our team had to be incredibly compatible and excellent at communication in order to pull this off, as we had to have fully developed front and back end work including an interactive UI. Working separately, communicating, and finally pulling it all together was a huge task, and we are so proud of our team. We see this app as a tool that people can use to change the way they learn, providing easier access to knowledge -- something we strongly believe in. We are of course proud of the fact that we created something we are passionate about and something that can solve a problem we ourselves experience on a regular basis.
What we learned
We learned how incredibly important communication is when working on a team. As previously mentioned, creating such an intricate web app required us to work individually, while still making sure we were on the same page and considering each other's aspects of the project. Without this communication, there is no way our project could have come together in the end. We also learned a great deal about troubleshooting problems as quickly and effectively we can, especially since we came into the project knowing little about the software we were taking on. The project showed us how crucial our determination in the troubleshooting process can be when it comes to learning new software in a fast-paced environment.
What's next for CourseLoad
In just twenty-five hours, we were able to scrape data from hundreds of courses over three prominent online learning providers. Now imagine what we could do with a timeline of months, or even weeks...now that is why we're incredibly excited to continue developing CourseLoad. With a longer timeline, we hope to expand our database to many more online learning providers, upgrading our library of hundreds of courses to one of millions. We are also eager to improve our filtering and ranking systems, providing an even better experience for users, including curriculum recommendation features that help to guide the users through their courses. We cannot wait to see what more we can do with CourseLoad and how we can help students of the future access online learning!
Log in or sign up for Devpost to join the conversation.