AI Study Agent | Transforms docs, slides, and text into interactive study packs
Report Bug
·
Request Feature
Table of Contents
LearnFlow AI is an intelligent study companion designed to break down dense course material into clear, structured study packs. It combines document understanding with smart content generation to make studying easier, faster, and more organized.
The goal is simple: take any class topic, syllabus, or set of notes and transform it into a comprehensive resource—including summaries, key concepts, practice problems, flashcards, and curated external links.
Under the hood, LearnFlow isn't just a wrapper. It utilizes an agentic workflow (built with Pydantic AI) to orchestrate context, validate outputs, and ensure that every study pack is structured perfectly for the user's needs.
- Agentic Workflow: Powered by Pydantic AI to intelligently parse, chunk, and synthesize complex course materials rather than just summarizing text.
- Multi-Modal Ingestion: Seamlessly processes PDFs, DOCX, PowerPoints, and raw text input to generate unified study guides.
- Structured Knowledge Output: Transforms unstructured lectures into strict, type-safe JSON formats for consistent summaries, flashcards, and quizzes.
- Distraction-Free UX: A clean, modern interface built with React + TypeScript and Tailwind CSS, designed to reduce cognitive load.
- Smart Resource Curation: Automatically generates "Further Reading" sections by identifying key topics and retrieving relevant external context.
- Resilient Error Handling: Backend-ready validation ensures that even large or complex files are processed smoothly without crashing the agent.
To get a local copy up and running follow these simple steps.
- Python 3.11+
pyenv install python-3.11.8- Node.js 18+ and npm
node --version
npm --version- Get a free Gemini API Key at https://aistudio.google.com/app/apikey
- Clone the repo
git clone https://github.com/alvagarciia/learnflow-ai.git
cd learnflow-ai-
Backend Setup
Create a virtual environment
Recommended to avoid dependency conflicts
cd backend
python -m venv venv
source venv/bin/activate # Mac/Linux
venv\Scripts\activate # WindowsInstall dependencies
pip install -r requirements.txtCreate a .env file in the backend directory and add your API key
GEMINI_API_KEY=your_api_key_here-
Frontend Setup
Open a new terminal and navigate to frontend
cd frontendInstall dependencies
npm installCreate a .env file in the frontend directory
VITE_API_URL=http://localhost:5000/api- Change git remote url to avoid accidental pushes to base project
Only necessary if you forked or cloned this project to make your own version
git remote set-url origin github_username/learnflow-ai
git remote -v # confirm the changesYou'll need two terminal windows running simultaneously:
Terminal 1 - Backend:
cd backend
source venv/bin/activate # Mac/Linux (or venv\Scripts\activate on Windows)
python app.pyBackend will run on http://localhost:5000
Terminal 2 - Frontend:
cd frontend
npm run devFrontend will run on http://localhost:5173
Visit http://localhost:5173 in your browser to use the application.
Once started, users can visit the site and start generating study material instantly — no login required. They can:
- Enter a topic, chapter, or class concept
- (Optionally) upload files such as syllabi, notes, or slides
- Select which type of outputs they want included
- Generate a study pack in seconds
Each study pack is designed for real learning — with key points, summaries, flashcards, and problems that help students understand faster. The system is optimized to handle both short inputs and large documents, while keeping latency minimal.
LearnFlowAI-Demo.mp4
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Alvaro Garcia - LinkedIn @alvaro-garciam - alvaroedgamu@gmail.com
Project Link: https://github.com/alvagarciia/learnflow-ai
