Meet Megafind

As the fall semester comes to an end, students are cramming for finals and desperately trying to decipher their notes from hours’ worth of lectures. We all can relate to that heart-stopping moment when you realize that your notes don’t match the professor’s slides, which means you either copied their notes incorrectly or worse, missed an entire section of the day’s lecture. As you rest your head on your keyboard, you wish there were an easier way.

Enter Megafind, overall winners of the recent Cal Hacks 4.0 hackathon, sponsored by SparkPost. I recently caught up with Anthony, Kartik, Kian, and Ajay, creators of this revolutionary note-taking (and time-saving) application.

Tell Me More

Who makes up the Megafind team?

There are four of us on the team, all sophomores studying computer science at UC Berkeley. Anthony enjoys playing Clash Royale, drums, and basketball in his free time. Kartik is wants to focus on consumer products, and when he’s not working, he enjoys swimming, watching basketball, and sampling tasty foods. Kian likes to play soccer is a fan of Barcelona. Last but not least, Ajay plays the saxophone and also enjoys playing tennis and basketball.

What’s the problem you were trying to solve?

Students waste time copying lecture slides without including their own personal notes. This also means they may get lost when looking at their notes later because they missed a key piece of information while copying down slides. We realized we might be able to create a web app that allowed students to use lecture time more efficiently to maximize learning.

How did your application solve this problem?

Megafind is a web app based platform for hosting live lecture sessions. Professors can begin a session that students in the lecture can join using some provided passcode. Upon joining the live session, students gain access to multiple features that provide an enhanced lecture experience. The dashboard has 3 main features:

  1. The first is simply the lecture slides embedded into the left half of their screen––this is for the students to follow along with the presentation.
  2. The right side contains two tabs. One is a live transcript of what the professor is saying that updates in real time. The app parses the professor’s words in real time to find relevant people, places etc. Each term deemed relevant has a hyperlink to additional resources. These keywords are also stored in a digest that we send at the end.
  3. The third feature is an in-browser note taker that begins the lecture with all the bullet points/text scraped from the presentation slides. This way, students can focus on putting their own thoughts/notes instead of simply copying the lecture bullets.

At the end of the lecture, Megafind sends each student a copy of their “lecture digest” which contains 3 parts:

  1. A summary of the lecture created by performing natural language understanding on the transcript
  2. The notes taken by the student in lecture
  3. Each keyword that we picked up on compiled into a list with a short summary of its definition (for study guides/quick reference)

Tell me more about the technologies that you chose to integrate with. What are they, and why did you choose these in particular?

Our web app uses live speech-to-text translation to convert the professor’s words into a transcript students can refer to during a lecture. While it is producing the text, our application uses entity extraction to pick out keywords and provide a hyperlink to more information about the highlighted content. To achieve this, we used Google’s Cloud Speech and Natural Language APIs to create this hyperlinked transcript. With this feature, students don’t need to worry about missing something the professor says. In addition, they can now refer to further resources about topics they might be unsure of.

We also used SparkPost’s email API to send each student their personal notes. Their notes were added onto the slide text, which was extracted via Google’s Slides API. The email also included a list of keywords from the entity extractor and a summary of the entire lecture. This simple but important feature allows students to keep a record of each lecture in one, single file.

What problems did you come up against while trying to build out the application?

Most of us came to the hackathon with little-to-no JavaScript experience, needless to say, Node.js experience, which was the language we used to integrate all of the web app’s main functionalities. We needed to understand websockets and asynchronous code to figure out how to work with audio streams, processing the text to find entities, and dynamically displaying it. We knew these in addition to learning Node.js would be some of our biggest hurdles, so we dedicated most of the first night to figuring these out.

Despite not knowing much Node.js, we persevered by asking mentors questions, checking Stack Overflow, and continually revising the code through both nights to fix our bugs. We didn’t want to stop until we had our application working exactly how we imagined it.

A+ Application

At the end of the day, we always love to see the creative ways that hackathon attendees choose to use SparkPost in their applications. Today, these students are solving day-to-day problems like how to keep up in class lectures, but we’re confident that the real-world skills that they learn at the hackathon will lead them to solve bigger problems down the road.

What have you been tinkering with lately? If you’ve used SparkPost in a cool way or recently integrated it into a project, we’d love to hear about it! Send us a note on Twitter or come chat about it in Community Slack.

Happy Coding!