DEV Community

Bhawana Agarwal
Bhawana Agarwal

Posted on

๐Ÿ“š LazyNotesAI v5.0 โ€” Building an Open-Source AI Study Assistant with Python

What I Built

I built LazyNotesAI v5.0, an open-source, Python-based study revision assistant that helps students turn their notes into useful revision material.

As a student learning programming, I wanted to build something practical that could make studying more organized and help me understand how artificial intelligence works.

LazyNotesAI combines traditional Python text processing with a real, open-weight language model: Google's FLAN-T5-small.

The project is designed to help students generate summaries, identify keywords, create revision questions, and save study material.

โœจ Features

  • Generates quick summaries from study notes.
  • Extracts important keywords.
  • Creates revision questions and answers.
  • Uses FLAN-T5-small to generate an AI-powered question.
  • Filters duplicate questions.
  • Saves revision material as text files.
  • Avoids overwriting previously saved notes.

Important: LazyNotesAI is a hybrid application. Its summaries, keyword extraction, and most revision questions use Python-based text processing. The FLAN-T5-small model is used for AI-powered question generation.

๐Ÿค– How I Integrated AI

Earlier versions of LazyNotesAI used only rule-based Python text processing.

For version 5.0, I wanted to move beyond predefined patterns and experiment with an actual machine-learning model.

I chose google/flan-t5-small, an open-weight, instruction-tuned language model available through Hugging Face.

The model is loaded using the transformers library.

The application provides study notes to the model along with an instruction to generate a relevant question.

For example, the model can receive an instruction similar to:

Generate one clear study question based on these notes:

An atom is the smallest unit of an element.
Enter fullscreen mode Exit fullscreen mode

During testing, the model generated:

What is the smallest unit of an element?
Enter fullscreen mode Exit fullscreen mode

This demonstrated that the project could use a real language model rather than relying entirely on predefined question templates.

I deliberately kept the integration small and understandable so I could learn how the model works without making the entire application dependent on AI-generated text.

๐Ÿง  How LazyNotesAI Works

The application follows a simple workflow:

  1. The user enters a chapter name and study notes.
  2. Python processes the notes and selects sentences for a quick summary.
  3. Word-frequency analysis identifies useful keywords.
  4. Rule-based logic generates revision questions and answers.
  5. FLAN-T5-small generates an additional AI-powered study question.
  6. Duplicate questions are filtered.
  7. The revision material is displayed and can be saved to a text file.

The result is a combination of lightweight Python automation and open-weight AI.

๐Ÿงช Testing the Project

I tested LazyNotesAI v5.0 in Google Colab.

The environment successfully installed the required dependencies and loaded the FLAN-T5-small model.

I used a short example about atomic structure.

Example Input

Chapter: Atomic Structure

An atom is the smallest unit of an element.
Atoms contain protons, neutrons, and electrons.
Protons have a positive charge.
Electrons have a negative charge.
Neutrons have no electric charge.
Enter fullscreen mode Exit fullscreen mode

Example AI-Generated Question

What is the smallest unit of an element?
Enter fullscreen mode Exit fullscreen mode

The program also generated revision material using its Python-based summarization, keyword extraction, and question-generation features.

This was a useful milestone because it confirmed that the AI model could load and generate a question within the application.

The model can still produce imperfect or repetitive questions, so its output should be reviewed before studying.

๐Ÿ› ๏ธ Tech Stack

Technology Purpose
Python Main programming language
Hugging Face Transformers Loading and running the AI model
google/flan-t5-small AI-powered question generation
PyTorch Model execution
SentencePiece Tokenization support
Google Colab Development and testing
GitHub Open-source code hosting

The application also uses Python's built-in text-processing and file-handling capabilities.

๐Ÿš€ How to Try LazyNotesAI

The project is available on GitHub:

https://github.com/thebugbag/LazyNotesAI

You can run the project in Google Colab without installing the AI dependencies directly on your computer.

Step 1: Install Dependencies

Run this in a Colab code cell:

!pip -q install transformers sentencepiece torch
Enter fullscreen mode Exit fullscreen mode

Step 2: Download the Project

!wget -q -O lazynotes.py https://raw.githubusercontent.com/thebugbag/LazyNotesAI/main/lazynotes.py
Enter fullscreen mode Exit fullscreen mode

Step 3: Run LazyNotesAI

import lazynotes

lazynotes.main()
Enter fullscreen mode Exit fullscreen mode

Follow the prompts to enter a chapter name and study notes.

The application will generate revision material, including an AI-powered question.

The first model load may take additional time because the required model files need to be downloaded.

๐ŸŒ Why Open Innovation Matters

One of the most valuable parts of this project was discovering how accessible open-weight AI models can be.

I did not need to train a language model from scratch to experiment with AI.

Instead, I could study an existing model, integrate it into a Python application, and test how it behaves with real educational examples.

Open-source tools and publicly available model weights make experimentation more accessible to beginners.

They also allow developers to inspect implementations, share improvements, report issues, and learn from one another.

By publishing LazyNotesAI on GitHub, I hope other learners can explore the code and contribute ideas for making the application more useful.

๐Ÿข Slow and Steady: My Development Journey

LazyNotesAI was not built perfectly in one attempt.

I started with basic Python automation and gradually improved the project through testing, debugging, and experimentation.

Earlier versions focused on summaries, keywords, and rule-based revision questions.

Version 5.0 introduced a new challenge: integrating a real AI model while keeping the application understandable.

Rather than replacing everything with AI, I added one focused AI-powered feature and kept the existing text-processing functionality.

This gradual approach helped me understand the difference between traditional automation and machine-learning-based generation.

For me, slow and steady development means building something small, testing it carefully, learning from mistakes, and improving it step by step.

โš ๏ธ Current Limitations

LazyNotesAI v5.0 is still an experimental learning project.

Some limitations include:

  • The AI model currently generates only a limited number of questions.
  • Generated questions may sometimes be repetitive or unclear.
  • Summaries are extractive rather than fully AI-generated.
  • Keyword extraction is based on text-processing heuristics.
  • The program is designed primarily for text-based notes.
  • Running the AI model requires additional dependencies and computing resources.
  • Users should verify revision answers against their original notes or reliable study materials.

These limitations provide opportunities for future development.

๐Ÿ”ฎ What's Next?

Some improvements I would like to explore include:

  • Better AI-powered question generation.
  • Multiple-choice quizzes.
  • Interactive revision sessions.
  • Improved summaries for longer chapters.
  • Better support for different school subjects.
  • A simple graphical interface.
  • More testing with different types of notes.

These are future goals, not features already included in version 5.0.

๐Ÿ“š What I Learned

Building LazyNotesAI taught me about Python programming, text processing, debugging, open-source documentation, and integrating a pretrained language model.

I also learned that adding AI does not automatically make every part of an application intelligent or accurate.

It is important to understand what a model actually does, test its outputs, and explain its limitations clearly.

Most importantly, I learned that meaningful progress can come from small, consistent improvements.

๐Ÿ”— Open-Source Repository

GitHub: https://github.com/thebugbag/LazyNotesAI

The repository contains the Python source code and README instructions for running the project.

Feedback, suggestions, and contributions are welcome.

Final Thoughts

LazyNotesAI v5.0 represents my first steps toward combining Python automation with open-weight artificial intelligence.

It is not a finished educational platform, but it is a working experiment that helped me learn how AI models can be integrated into practical software.

My goal is to keep improving the project while making it useful and understandable for other learners.

Built for students who want to revise smarter, one step at a time. ๐Ÿ“š๐Ÿš€

Top comments (0)