DEV Community

Cover image for Built StudyFlow for My Friend — An AI Study Planner Powered by Open-Source Gemma
BHOOMIKA BHOOMIKA
BHOOMIKA BHOOMIKA

Posted on

Built StudyFlow for My Friend — An AI Study Planner Powered by Open-Source Gemma

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

My friend Ananya has to balance college classes, labs, assignments, self-study, and competitive programming. Managing all of these manually makes it difficult to decide what to study and when.

So I built StudyFlow, a personalized AI study planner that creates a weekly study schedule based on:

  1. College classes and labs
  2. Available study hours
  3. Assignments and deadlines
  4. Task priorities
  5. Personal scheduling preferences
  6. Feedback from the user

Demo

I'm currently running StudyFlow locally because the AI model runs through Ollama on the user's machine. I've included a link to a short demo video below.
[Watch the demo video]

Code

StudyFlow - a private AI study planner, built for a friend

Hacktoberfest "Build for a Friend" submission. Built for Ananya, who juggles classes, labs, self-study and competitive programming and never knows what to study and when.

StudyFlow takes her fixed commitments, tasks, free hours and CP goal, and asks an open-weight model (Google Gemma) running locally through Ollama to build a realistic weekly plan. She can then say what didn't work ("I prefer CP in the morning") and the planner remembers it and follows it next time.

Why open-source AI is the core

Need How the open approach delivers
Privacy Her timetable and habits never leave her laptop. No API key, no cloud account.
Cost Free to run, forever. No per-token billing for a student.
Offline Works with no internet once the model is pulled.
Swappable Change OLLAMA_MODEL in .env to try Gemma 1B / 4B / 12B,
…

How I Built It

StudyFlow is a full-stack application built with:

  • React + Vite: frontend
  • Node.js + Express: backend
  • Gemma 3: AI model
  • Ollama: local model inference
  • JavaScript: application logic
  • Local JSON storage: tasks, preferences and feedback

The most important part of the project is that Gemma isn't allowed to blindly control the final schedule.
Gemma generates a candidate schedule based on the student's inputs. A deterministic validator then checks the schedule for conflicts with fixed classes and labs, available hours, deadlines, and user preferences.

If the AI response is missing, invalid, or cannot be parsed into a usable schedule, StudyFlow falls back to a rule-based planner instead of failing completely.

This separation between AI generation and deterministic validation makes the planner more reliable while still allowing Gemma to handle the flexible reasoning involved in creating a personalized schedule.

Why Does Open Innovation Matter?

I chose Gemma running locally through Ollama because I wanted the AI component of StudyFlow to be based on open technology rather than depending entirely on a closed AI API.

Running the model locally means the user's study schedule, preferences, and feedback can remain on their machine instead of automatically being sent to a third-party AI service.

It also gives me the freedom to experiment with the AI layer. I can change the model, modify the prompts, add validation, and improve the application without redesigning the entire project around a proprietary API.

For me, open innovation makes AI more accessible to student developers. I can take an open model, understand how it fits into an application, and build something useful for a real person.

Prize Categories

Best Use of Gemma

StudyFlow uses Google's open-weight Gemma 3 model through Ollama
to generate personalized weekly study schedules.

Gemma is used as the AI planning layer, while a deterministic validator
checks the generated schedule for conflicts with classes, labs,
availability, and user preferences. A rule-based fallback planner is
used if the AI response is unusable.

I chose Gemma because running an open-weight model locally allowed me
to build an AI-powered application without depending entirely on a
closed AI API.

I Handed It to Ananya

I gave StudyFlow to Ananya and she used it with her real timetable for 1–2 days. Here is what she told me:

"I actually liked the study plan as it finds free time for me to study and takes care of my assignments, which I usually forget to do. But I am still not able to follow the CP schedule, as I prefer doing CP in morning and I feel sleepy after 9 pm." — Ananya

What worked: The plan scheduled around her classes and labs, prioritised her assignments by deadline, and helped her remember tasks she usually forgets.

What didn't: The competitive programming slot didn't suit her. She prefers practising CP in the morning, and she feels sleepy after 9 PM, so late sessions weren't realistic.

What I changed: Her feedback showed that the plan needed a way for her to correct it. I added a feedback panel and a preference layer. Feedback like "I prefer CP in the morning" and "no study after 9 PM" is now turned into scheduling rules, so every new plan respects it.

Top comments (0)