An AI-powered code review platform that helps beginner programmers improve their Python code through automated feedback, scoring, and personalized explanations.
Live Demo: https://codecoachai.onrender.com
CodeCoach AI analyzes Python programs using a combination of:
- Rule-based static analysis
- AI-generated explanations (powered locally by Ollama)
- Code quality scoring
- Personalized learning suggestions
The goal is to help students understand why their code can be improved—not just whether it works.
The deployed version demonstrates the application's interface and rule-based analysis. The full AI tutoring experience is available when running the project locally with Ollama.
- AI-generated code explanations
- Rule-based bug detection
- Code quality score (0–100)
- Personalized learning tips
- Side-by-side code comparison
- Submission history
- User authentication
- Public web deployment with Render
- Python
- Flask
- SQLite
- Ollama
- Llama 3.2
- HTML
- CSS
- Jinja2
- Git
- GitHub
- Render
- Pytest
CodeCoachAI/
│
├── app.py
├── requirements.txt
├── README.md
│
├── services/
│ ├── analyzer.py
│ └── ai_service.py
│
├── templates/
│
├── static/
│
├── tests/
│
└── screenshots/
Clone the repository:
git clone https://github.com/Raniafsl/CodeCoachAI.git
cd CodeCoachAICreate a virtual environment:
python3 -m venv .venv
source .venv/bin/activateInstall dependencies:
pip install -r requirements.txtInstall and start Ollama.
Pull the model:
ollama pull llama3.2:3bStart Ollama:
ollama serveRun the application:
python app.pyOpen:
http://127.0.0.1:5000
Run the unit tests:
pytestThe application is deployed using Render.
The public deployment demonstrates the user interface and rule-based analysis.
The complete AI tutoring functionality is available when running the application locally with Ollama.
- Support multiple programming languages
- Richer static code analysis
- PostgreSQL database
- Docker support
- Cloud-hosted AI backend
- Instructor dashboard
- Syntax highlighting in the editor
Rania Faisal
Computer Science Student,
University of Waterloo
GitHub: https://github.com/Raniafsl




