This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
StudyGuardian is a local-first study planner that keeps your Google Classroom coursework, uploaded notes, and AI-generated study plans entirely on your computer.
It answers four questions every student asks every week:
- What coursework is due this week?
- What should I work on first?
- Where's the related material โ in Classroom or in my notes?
- How do I revise from the notes I already have?
Gemma 3 4B, running locally through Ollama, handles the planning, note matching, and exam revision pack generation. No coursework ever leaves your machine for AI processing.
The UI uses a brutalist design โ thick borders, zero border-radius, monospace typography, offset box-shadows with micro-animations โ and includes a dark/light mode toggle that persists across sessions via localStorage.
Who gets to be lazier? Any student who's tired of manually scanning Classroom, cross-referencing notes, and figuring out what to study first. StudyGuardian does the triage so you can focus on actually studying.
๐ฎ Demo
๐ Deployed demo (Render): StudyGuardian on Render
Note: The public demo runs in demo mode only โ no Google login, Ollama, or uploads on the public host. Gemma runs locally on your computer.
Free Render instances sleep after inactivity, so the first load can take approximately 60 seconds.
๐ป Code
StudyGuardian
Your week, organized. Your exams, less stressful.
- Hosted demo: the Render service runs demo mode only. It shows the labeled sample week and does not accept Google login, uploads, web search, audio, or a connection to Ollama.
- Source: https://github.com/Dev-Nidhan/studyguardian
- Demo (about 75 seconds): https://github.com/Dev-Nidhan/studyguardian/blob/main/docs/demo.webm
- License: MIT
StudyGuardian is a local study planner for the Hacktoberfest 2026 Week 3 "Slow and Steady" challenge. It keeps Google Classroom coursework, uploaded notes, and study plans on your computer. Gemma, through Ollama, prioritizes work, finds relevant pages in your notes, and builds a revision pack. It does not turn assignments in, and it does not send coursework to a cloud model.
What it answers
- What coursework is due this week?
- What should I work on first?
- Where is the related material, in Classroom or in my notes?
- How do I revise from the notes I already have?
Due dates, titles, links, and submissionโฆ
๐ ๏ธ How I Built It
Open-Source AI Stack
| Layer | Tool | Role |
|---|---|---|
| Model | Gemma 3 4B (open-weight) | Weekly planning, note-to-assignment matching, exam pack generation |
| Local inference | Ollama | Runs Gemma on-device without cloud calls |
| UI framework | Streamlit | Dashboard, week view, courses, exam prep, settings |
| Data | SQLite | Assignments, plans, preferences โ all local |
| PDF extraction | PyMuPDF | Local text extraction from uploaded notes |
| Optional: Search | SerpApi | Live web search for study resources, only on button click |
| Optional: Audio | ElevenLabs | Spoken revision passages, only after explicit consent |
Key Design Decisions
1. Gemma runs only on explicit user action
Gemma runs only when the user presses Generate Plan, Find Relevant Sections, or Build Revision Pack. Streamlit reruns never trigger the model.
2. Citations are validated
If Gemma cites a page that doesn't exist in an uploaded file, that citation is stripped and flagged. No hallucinated sources make it to the UI.
3. Offline-first architecture
After the first Classroom sync, the core application works without internet. Saved plans, notes, and search results are stored in SQLite.
4. No telemetry
Streamlit usage statistics are disabled. No analytics, no remote database, and no cloud AI inference.
5. Brutalist UI
The interface is deliberately bold and raw:
- Sharp corners and thick 3px borders
- Space Mono for data labels
- Inter 900 uppercase headings
- A
#ff3d00deep-orange accent - Offset box-shadows that animate on hover and click
A fixed dark/light toggle in the top-right corner switches CSS variables instantly through JavaScript. The preference persists in localStorage, while a MutationObserver keeps the styling consistent across Streamlit rerenders.
๐ Pages and Features
1. Dashboard
- One recommended next action based on due dates
- Metric cards for past-due assignments
- Assignments due this week
- Assignments without deadlines
- Submitted assignments
2. This Week
- Assignments grouped by course
- An editable AI-generated study plan
3. Courses & Materials
- Google Classroom links
- Uploaded PDF and text notes
- Grounded note-to-assignment matching
- Optional web search for additional study resources
4. Exam Prep
Generate revision materials directly from your uploaded notes:
- Revision notes
- Key definitions
- Flashcards
- Practice questions
Generated material includes citations to the uploaded file and page number, making it easier to verify answers against the original source.
5. Settings
- Model configuration
- Timezone settings
- Google Classroom connection
- Demo data controls
๐ฑ Why Does Open Innovation Matter?
StudyGuardian processes real student coursework โ assignment titles, descriptions, uploaded notes, and study plans. This is sensitive educational data that has no business leaving a student's computer just to generate a revision sheet.
Open-weight Gemma 3 + Ollama makes it possible to run the entire AI pipeline locally.
With a conventional hosted AI API, depending on the provider and configuration:
- Every assignment description may be sent to a third-party server.
- Uploaded notes may need to be transmitted over the internet.
- Students on restrictive school networks might be blocked entirely.
- Per-request costs can make frequent use difficult for students on tight budgets.
With Gemma running locally through Ollama:
- ๐ Privacy: Zero coursework leaves your machine for AI processing.
- ๐ธ Cost: No per-request cloud AI charges after the initial model download.
- ๐ด Offline access: Study on a plane, in a library basement, or wherever you need to.
- โพ๏ธ No AI API rate limits: Generate plans and revision packs subject to your hardware and available resources.
- ๐ Transparency: Every prompt template is available in the source code instead of being hidden behind an API.
Open innovation means students can verify what the AI sees, modify prompts, swap in a different model, or extend the entire application.
That's not possible to the same extent when the entire AI workflow is locked behind a closed API.
Open innovation isn't just about making AI accessible. It's about giving people the freedom to understand, adapt, and improve the technology they rely on.
โฑ๏ธ The Lazy Payoff
Without StudyGuardian, a student's weekly workflow might look like this:
| Task | Estimated time |
|---|---|
| Open Classroom, scan courses, and mentally rank what's due | ~15 min |
| Open notes and find material relevant to each assignment | ~20 min |
| Build a study plan manually | ~10 min |
| Make flashcards and revision notes manually | ~30+ min |
| Total | ~75+ min |
With StudyGuardian:
- Sync Google Classroom.
- Click Generate Plan.
- Click Build Revision Pack.
- Review the results and start studying.
Gemma handles the initial triage, note matching, and revision-material generation. The workflow can require under two minutes of active user interaction, plus model processing time.
On suitable hardware, Gemma may take around 30 seconds to process a task, depending on the workload and system configuration.
That's roughly an hour saved per week on organizational overhead, based on these illustrative estimates.
Of course, AI-generated plans and revision material still need to be reviewed. The goal is to spend less time organizing and more time actually learning.
๐ Prize Categories
Best Use of Render
The public demo runs on Render's free tier with STUDYGUARDIAN_PUBLIC_DEMO=1.
It shows a clearly labeled sample week without exposing OAuth secrets, private notes, or a local model endpoint. Gemma stays on your computer.
Best Use of Gemma
Gemma 3 4B through Ollama powers the planner, note matcher, and exam-pack generator.
Priorities are estimates, while assignment deadlines remain attached to their source records. Citations referencing pages that do not exist in an uploaded file are removed.
Best Use of SerpApi
The Courses & Materials page can search a topic and retain only URLs returned by the search provider. Invented URLs are discarded, and saved results persist in SQLite for offline access.
Best Use of ElevenLabs
Exam Prep can speak a revision passage after the user acknowledges a disclosure checkbox.
Only the selected text is sent for audio generation. Passages longer than 2,500 characters are rejected before a request is made, and the rest of the application works without audio.
๐ What's Next?
StudyGuardian explores a simple idea: AI-assisted studying should be private, accessible, and practical.
A study assistant shouldn't force students to choose between convenience and control over their data.
By combining local inference, open-weight models, a lightweight database, and grounded citations, StudyGuardian demonstrates how that balance can work in practice.
There's still plenty of room to improve the planning logic, support more file formats, strengthen citation validation, and make the study experience smoother.
๐ฌ Try It Out
Check out the code, explore the demo, and share your thoughts!
I'd especially love feedback on how StudyGuardian could become more useful for students managing multiple subjects, assignments, and exams.
Less admin. More learning. And your notes stay yours.
Top comments (0)