the user interface
What makes a student exceptional? Of course, it's their work ethic and values which help them succeed. With SmartNotes, students like us can become even more productive - and that's what we're all about. Doing more great stuff, faster.
What it does
SmartNotes is a new way to take notes on an online course, article, or basically any text from the internet. To begin, all you'd have to do is insert your transcript/text data, and start typing. You'll then see sentences that relate to what you are typing and you could instantly insert that text into your notes. From there, you can export your notes as a PDF or to Google Drive.
How we built it
SmartNotes is a web app built using Node, MongoDB, a Python script, and jQuery. We use MongoDB for authentication, and storing user data like video transcripts and extracted data like keywords, frequency, and summary.
We use a Python application with libraries, in the form of an API, to parse user input, generate commonly used words and phrases, and allow the user to receive real-time text suggestions when he/she is creating their notes.
We are running MongoDB on a Linode server, and use Mongo for user authentication, and storage purposes.
Challenges we ran into
At first, we tried using Polymer. However, as we discovered numerous bugs, problems, and incompatibilities with our desired hack, we decided to switch back to what we know best. Pure HTML/CSS/JS
Accomplishments that we're proud of
We're extremely proud of actually making our own API to communicate with our backend. In fact, we are proud that we were able to export the notes to a beautiful file.
What we learned
We learned loads of technologies and frameworks -- from troubleshooting with Polymer to figuring out our script and API. We also learned how to connect the front-end and back-end in a seamless way, and since we aren't experts with web apps, we were extremely impressed with our creation.
What's next for SmartNotes
SmartNotes is an awesome concept. We plan to incorporate OAuth, look into data visualization, and add features like sharing with other students and teachers so that students can really get their work done as soon as possible.