Inspiration

At university we have long sets of slides and it is extremely time-consuming to go through all the slides to review them. The Note-Ninja solves this problem by creating summary files from the slides that are uploaded to it.

What it does

Note-Ninja extracts important topics from the lecture slides and generates a summary for each topic.

How we built it

Most of the app is built with python, with a little bit of HTML and CSS. To develop a front-end, we used the Flask Framework for Python. Flask allows us to generate a front-end that interacts with HTML and CSS. The main part of the front-end is a upload and submit button for files. The files are the lecture slides that are passed into a function developed specifically for this app. Once the file is retrieved, the "backend" (the artificial intelligence aspect) takes over. First, we excavated the topics from the slides. For each topic, we create a summary using an open source LLM. With the information returned from the LLM, we query Gemini to improve the output. Once the format is improved, we save the final output into a pdf file and return it to the user.

Challenges we ran into

Implementing Flask:

  • Getting a consistent output to the screen,
  • Getting and Posting the PDF files,
  • Styling the website to make it look presentable.

Choosing the right LLM model:

  • Creating very precise queries was a challenge.

Creating the NLP pipeline to get the relevant sentences

  • Linking the Flask "front-end" functionality with the AI "back-end" functionality was a challenge.

Generating PDF files in python.

  • The generation of a pdf file in Python has more steps than generating a text file, which was an unexpected challenge.

Hosting the Application on GitHub Pages:

  • We tried to host the application on GitHub Pages to allow the web app to be accessed anywhere on the web, rather than just locally.

Accomplishments that we're proud of

Having a fully functional application, locally, as well as a working AI querying function.

What we learned

How to efficiently work with LLMs, how to make a "front-end" with Flask and linking this with AI components.

What's next for Note-Ninja

Hosting Note-Ninja Online is the next logical step, as it allows more people to access this.

Built With

Share this project:

Updates