Skip to content

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ AI Course Content Simplifier

An AI-powered tool that converts complex academic content into clear, easy-to-understand explanations β€” powered by IBM Granite on IBM watsonx.ai.

Streamlit App Python IBM Granite watsonx.ai License


πŸ“Œ What is This Project?

Students often struggle to understand complex textbooks, research papers, and lecture notes filled with difficult words and jargon.

This project solves that problem by using IBM Granite AI to read any academic content and rewrite it in a way that is easy to understand β€” based on the student's learning level.


✨ Key Features

  • 🧠 AI-Powered Simplification β€” Uses IBM Granite to simplify real academic content
  • 🎯 4 Learning Levels β€” Beginner, Intermediate, Advanced, Expert
  • πŸ“„ 5 Structured Outputs β€” Explanation, Key Concepts, Important Points, Examples, Quick Revision
  • 🟑 Demo Mode β€” Works offline without any IBM account
  • 🟒 Live IBM Granite Mode β€” Connects to real IBM Granite AI using your credentials
  • πŸ“š Sample Academic Topics β€” Biology, Computer Science, Physics, Economics
  • πŸ“₯ Download Study Notes β€” Save output as .md or .txt file

πŸ–₯️ Live Demo

πŸ‘‰ Click here to try the live app


πŸš€ How to Run This Project Locally

Step 1 β€” Clone the Repository

git clone https://github.com/your-username/Course-Content-Simplifier.git
cd Course-Content-Simplifier

Step 2 β€” Install Required Packages

pip install -r requirements.txt

Step 3 β€” Run the App

streamlit run app.py

Open your browser and go to πŸ‘‰ http://localhost:8501

βœ… The app will run in Demo Mode automatically β€” no IBM account needed to try it!


🟑 Demo Mode (No IBM Account Needed)

When you run the app without any credentials, it automatically switches to Demo Mode.

  • βœ… Works completely offline
  • βœ… Generates structured educational content from your input
  • βœ… All 5 output sections work (Explanation, Concepts, Points, Examples, Revision)
  • βœ… Perfect for quick testing and evaluation

The sidebar will show:

🟑 Demo Mode Active β€” Using the built-in educational engine.


🟒 Live Mode β€” Using Real IBM Granite AI

To use real IBM Granite AI, you need two things from IBM Cloud:

  1. An IBM Cloud API Key
  2. A Watson Studio Project ID

Follow the steps below to get them.


πŸ”‘ How to Set Up IBM watsonx.ai (Step by Step)

Step 1 β€” Create an IBM Cloud Account

Go to πŸ‘‰ https://cloud.ibm.com and sign up for a free account.


Step 2 β€” Create a Watson Studio Project

  1. Go to πŸ‘‰ https://dataplatform.cloud.ibm.com
  2. Log in with your IBM Cloud account
  3. Click "New project"
  4. Choose "Create an empty project"
  5. Give it a name (e.g., Course Content Simplifier)
  6. Click "Create"

Step 3 β€” Associate Watson Machine Learning Service

  1. Inside your project, click the "Manage" tab
  2. Click "Services & Integrations" on the left
  3. Click "Associate service"
  4. Select WatsonMachineLearning (Type: watsonx.ai Runtime, Location: Dallas)
  5. Click "Associate"

Step 4 β€” Get Your Project ID

  1. Inside your project, click the "Manage" tab
  2. Click "General" on the left
  3. Scroll down to find "Project ID"
  4. Copy the UUID (looks like: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

Step 5 β€” Generate an IBM Cloud API Key

  1. Go to πŸ‘‰ https://cloud.ibm.com/iam/apikeys
  2. Click "Create an IBM Cloud API key"
  3. Give it a name (e.g., granite-key)
  4. Click "Create"
  5. ⚠️ Copy the key immediately β€” IBM shows it only once!

Step 6 β€” Add Credentials to the Project

Copy the .env.example file to .env:

cp .env.example .env

Open .env and fill in your values:

WATSONX_API_KEY=your_actual_api_key_here
WATSONX_PROJECT_ID=your_actual_project_id_here
WATSONX_URL=https://us-south.ml.cloud.ibm.com
WATSONX_MODEL_ID=ibm/granite-4-h-small

Restart the app:

streamlit run app.py

The sidebar will now show:

🟒 Live IBM Granite Mode β€” Connected


πŸ“ Project Structure

Course-Content-Simplifier/
β”œβ”€β”€ app.py              # Main Streamlit application
β”œβ”€β”€ requirements.txt    # Python dependencies
β”œβ”€β”€ .env.example        # Credentials template (safe to share)
β”œβ”€β”€ .env                # Your actual credentials (NOT uploaded to GitHub)
β”œβ”€β”€ .gitignore          # Protects your secret API key from being uploaded
└── README.md           # This file

πŸ› οΈ Technology Stack

Technology Purpose
Python 3.11 Core programming language
Streamlit Web application interface
IBM watsonx.ai AI model hosting platform
IBM Granite 4 (ibm/granite-4-h-small) AI language model
ibm-watsonx-ai SDK Python library for IBM AI API
python-dotenv Loads credentials from .env file
IBM Cloud IAM Secure API key management

πŸ“– How to Use the App

  1. Select a sample topic from the dropdown (or paste your own content)
  2. Choose your learning level β€” Beginner, Intermediate, Advanced, or Expert
  3. Click "✨ Simplify My Content"
  4. View your 5 structured output sections
  5. Download your study notes as .md or .txt

πŸ“š Learning Levels Explained

Level Best For
πŸ§’ Beginner Students new to the topic β€” simple words, everyday analogies
πŸ“— Intermediate Undergraduate students β€” clear explanations with key terms
πŸ”¬ Advanced Senior students β€” technical depth with formal terminology
πŸŽ“ Expert Researchers β€” precise, dense, formal academic language

⚠️ Important Security Note

  • Never upload your .env file to GitHub β€” it contains your secret API key
  • The .gitignore file in this project automatically blocks .env from being uploaded
  • Use .env.example as a safe template to share the required variable names

πŸ™Œ Built With


AI Course Content Simplifier Β· Powered by IBM Granite Β· IBM watsonx.ai

Build by Deepak Balan

About

An AI-powered Course Content Simplification Agent that uses IBM Granite through watsonx.ai to simplify educational content based on learner proficiency. Built with Python, Streamlit, and the IBM watsonx.ai SDK.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages