Productivity · Local AI agent
Homework Tracker
A homework tracking app with a dashboard, calendar and statistics charts, plus a chat assistant that runs entirely on your computer. A LangChain agent running IBM Granite 4.0 through Hugging Face Transformers adds, reschedules and completes assignments from plain-English requests, and code checks every change against what you actually asked.
- Python
- ttkbootstrap
- LangChain
- Hugging Face Transformers
- IBM Granite 4.0
- matplotlib
Screenshots
Sample assignments. Click a screenshot to open it full size. Use the arrows, or select the gallery and press ← →.
How it works
- Track assignments with a class, due date, priority (Low to Urgent) and difficulty, with the most urgent work always listed first.
- Ask the assistant: “Add a math quiz due Friday, high priority”, “push my essay to next Monday” or “mark hw #1 done and move the lab to Oct 10”. Changes show up in every tab immediately.
- One model call per request: the agent's tools return directly, and a custom LangChain chat model caches the fixed system prompt so each request only processes new text (about 35% faster).
- Model chosen by testing: ten small open models were benchmarked on tool calling, and the finalists went through a 20-request scored test. IBM Granite 4.0 1B was the only one to pass every request.
- Works offline: no API keys or cloud calls. An internet connection is only needed to download the models the first time.
Reliability and safety decisions
- Every change is checked in code. A change only runs if your message asks for that kind of change, so “rename X” can never turn into “mark X done”.
- Dates resolved in Python. Dates are passed through as spoken (“next monday”) and worked out in code. If your message contains a date, that date wins.
- No guessing. If your words fit several assignments, the assistant asks which one. Questions and bulk requests never change data.
- Safe deletes. Deleting needs a “yes” in the very next message, checked in code rather than by the model.
- Safe model downloads. The app only accepts models in the safetensors format, which can't contain code, so a tampered model file can't run anything on your computer. It also downloads the exact model versions that were tested, so a later update on Hugging Face can't change how the app behaves.
- No data loss. Files are written to a temporary file and swapped in. If the assignments file can't be read, it's backed up and the app refuses to save over it.