AI Classroom Manager Agent is an AI-powered educational automation tool built with Python, Flask, Streamlit, and OpenRouter/Gemini-compatible APIs.
The project helps teachers generate classroom resources such as timetables, lesson plans, worksheets, parent messages, behaviour notes, emergency lesson plans, and progress summaries. It includes multiple interfaces that share the same core AI logic.
AI Classroom Manager Agent was created to support teachers with common classroom planning and communication tasks.
The project is designed as a multi-interface AI application with:
- Command-line interface
- Flask web interface
- Streamlit web interface
- Shared AI feature logic
- OpenRouter / OpenAI-compatible API configuration
- Modular Python structure
The main goal of this project was to practice AI application development, prompt-based automation, API integration, and multi-interface software design.
The goal of this project was to explore how AI can support teachers by automating repetitive classroom planning and communication tasks.
This project combines prompt-based generation, Python application structure, multi-interface design, and API-based AI integration into one practical education-focused tool.
Generates a weekly timetable for multiple classes and periods.
Creates structured lesson plans with learning objectives, warm-up activities, main activities, assessment ideas, and homework.
Generates classroom test or worksheet content with different question types.
Creates professional parent messages in different tones such as polite, strict, or friendly.
Generates formal behaviour or observation notes for student discipline or academic performance.
Creates quick backup lesson plans for emergency or surprise classes.
Generates text-based progress summaries and percentage-style heatmaps.
This project includes three interface options:
A terminal-based interface for running classroom automation features from the command line.
A web-based interface using Flask, HTML templates, and CSS.
A lightweight interactive web interface deployed with Streamlit.
- Python
- Flask
- Streamlit
- Jinja2
- HTML
- CSS
- OpenRouter / OpenAI-compatible client
- Gemini-compatible model access
- python-dotenv
ai-classroom-manager/
├── app.py
├── main.py
├── streamlit_app.py
├── config.py
├── features.py
├── requirements.txt
├── templates/
│ ├── base.html
│ └── index.html
├── static/
│ └── style.css
├── screenshots/
│ ├── cli world.png
│ ├── flask world screen A.png
│ ├── flask world screen B.png
│ └── streamlit screenshot.png
└── README.mdClone the repository:
git clone https://github.com/Shoaibstat876/ai-classroom-manager-agent.gitGo to the project folder:
cd ai-classroom-manager-agent/ai-classroom-managerCreate a virtual environment:
python -m venv .venvActivate the virtual environment on Windows:
.\.venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtCreate a .env file inside the project folder:
AI_PROVIDER=openrouter
OPENROUTER_API_KEY=your_openrouter_api_key_hereFor OpenAI instead of OpenRouter, use:
AI_PROVIDER=openai
OPENAI_API_KEY=your_openai_api_key_herepython main.pypython app.pyThen open:
http://127.0.0.1:5000/streamlit run streamlit_app.pyThen open:
http://localhost:8501/



- Python application structure
- AI API integration
- Prompt-based automation
- Flask web development
- Streamlit app development
- CLI application design
- Shared business logic across multiple interfaces
- Environment variable handling
- Modular project organization
- Classroom workflow automation
API keys are not stored directly in the code.
The project uses environment variables through a .env file. The .env file should stay local and should not be committed to GitHub.
Example:
OPENROUTER_API_KEY=your_api_key_hereThis is a functional AI classroom automation project with CLI, Flask, and Streamlit interfaces.
It is suitable as a portfolio project to demonstrate Python, AI API integration, prompt engineering, and educational workflow automation. It is not a production school management system yet.
- Add user authentication
- Add database storage
- Add saved classroom profiles
- Add export to PDF or DOCX
- Improve timetable conflict handling
- Add role-based teacher/admin views
- Add better UI design for the Flask version
- Add automated tests for core features
- Add deployment documentation for Flask
- Add structured logging and error handling
Muhammad Shoaib Abdul Shakoor
Focused on AI automation, full-stack development, backend APIs, frontend interfaces, and practical AI-native applications.
This project is open for learning, demonstration, and portfolio purposes.