DEV Community

Ashutosh Ranjan
Ashutosh Ranjan

Posted on

# StudyForge AI: A Gemma-Powered Student Workspace Built for a Friend

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

StudyForge AI: A Gemma-Powered Student Workspace Built for a Friend

Students don't usually have a shortage of things to do.

They have too many.

Classes, assignments, notes, coding practice, exams, internship applications, deadlines, and personal goals all compete for the same limited amount of time.

The difficult question isn't always "How do I study?"

Sometimes it's simply:

"What should I do next?"

For the Hacktoberfest Weekend Challenge, I built StudyForge AI — an AI-powered student workspace designed to bring studying, notes, tasks, coding, internships, and productivity into one place.

The project was built around a real student problem and uses Google's open-weight Gemma model as the AI layer.


What I Built

StudyForge AI is a student-focused workspace that combines several parts of a student's daily workflow:

  • 📚 Study planning
  • 📝 Notes
  • ✅ Task management
  • ⏱️ Study tracking
  • 💻 Coding progress
  • 🚀 Internship tracking
  • 📊 Productivity insights
  • 🤖 AI assistance

The idea is simple:

Instead of switching between multiple tools and then manually explaining your situation to an AI assistant, StudyForge keeps the relevant information inside one workspace.

The AI can then use that context to provide more useful recommendations.

For example:

"I have two hours today. What should I study?"

The goal isn't to return a generic productivity quote.

The goal is to understand the student's current situation and suggest something actionable.


The Problem

A typical student workflow can look something like this:

College classes
      ↓
Notes
      ↓
Assignments
      ↓
Exam preparation
      ↓
Coding practice
      ↓
Internship applications
      ↓
Personal tasks
Enter fullscreen mode Exit fullscreen mode

Each activity may have its own application or platform.

The result is fragmented information.

A student might know that they have three pending assignments, an upcoming exam, coding practice to complete, and an internship application to finish.

But knowing everything that needs to be done doesn't automatically answer:

Which one should I do first?

That is the problem I wanted StudyForge AI to help solve.


Building for a Friend

The "Build for a Friend" theme made me start from the user's problem instead of starting from a technology.

Rather than asking:

"What impressive AI application can I build?"

I asked:

"What problem does a student repeatedly face?"

The answer was the difficulty of managing multiple academic and career responsibilities at the same time.

That led to the idea of a single workspace where the student's study activity, tasks, notes, coding progress, and career preparation could live together.

The project is intentionally focused on a practical student workflow rather than trying to become a general-purpose AI platform.


Demo

🎥 **Live Demo / Demo Video

The demo shows the main StudyForge workflow:

  1. Student dashboard
  2. Subjects and tasks
  3. Study planning
  4. Notes
  5. AI Assistant
  6. Gemma-powered AI responses
  7. Coding and internship workflow
  8. Personalized study assistance

The important part is the complete AI flow:

Student
   ↓
StudyForge
   ↓
FastAPI
   ↓
AI Context
   ↓
Gemma
   ↓
AI Response
   ↓
Student
Enter fullscreen mode Exit fullscreen mode

Code

The complete project is available on GitHub:

https://github.com/Ashutoshranjan195/studyforge-ai

The repository contains the frontend, backend, database layer, AI services, configuration, and project documentation.


How I Built It

StudyForge uses a straightforward full-stack architecture.

The frontend is built with:

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Zustand

The backend uses:

  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite

The AI layer integrates Google Gemma into the application workflow.

I deliberately kept the architecture relatively simple.

The goal was not to build a huge distributed system.

The goal was to build something that could actually solve the student's problem.


Architecture

At a high level, the application works like this:

                  ┌─────────────────────┐
                  │    StudyForge UI    │
                  │ React + TypeScript  │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │      FastAPI        │
                  │     REST API        │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │   Student Context   │
                  │ Tasks / Notes /     │
                  │ Subjects / Goals    │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │       Gemma         │
                  │   Open-weight AI    │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │    AI Response      │
                  └─────────────────────┘
Enter fullscreen mode Exit fullscreen mode

The important architectural decision is the context layer.

The AI isn't supposed to operate as an isolated chatbot.

It should receive the information that is relevant to the student's request.


How Gemma Fits Into StudyForge

Gemma is at the center of the AI functionality.

Instead of creating a separate chatbot that has no knowledge of the application, StudyForge connects AI requests with the student's workspace.

Depending on the request, relevant context can include:

  • subjects
  • tasks
  • priorities
  • study time
  • notes
  • deadlines
  • coding activity
  • internship activity
  • learning goals

That context is then used to generate a response through Gemma.

This makes the AI experience more closely connected to the application.

For example:

Generic chatbot:

"I have two hours. What should I study?"

        ↓

Generic study advice


StudyForge:

Student's subjects
+ pending tasks
+ priorities
+ available time
+ learning context

        ↓

Gemma

        ↓


---

# AI Features

## 1. AI Study Assistant

The student can ask questions directly from the StudyForge workspace.

Examples:

> "What should I study today?"

> "Which task should I complete first?"

> "I have an exam coming up. How should I revise?"

The assistant is designed to provide useful answers based on the available StudyForge context.

---

## 2. Study Plan Generation

A student can provide their available study time and current priorities and ask the AI to create a study plan.

For example:

> "I have two hours today and need to prepare for two subjects. Create a plan."

Instead of manually organizing everything, the student gets a structured starting point.

---

## 3. Topic Explanation

Students can use the AI to understand difficult topics in simpler language.

A useful explanation can include:

- simple concepts
- important points
- examples
- revision notes

The purpose isn't to replace learning.

It's to reduce the friction involved in understanding a difficult topic.

---

## 4. Study Recommendations

StudyForge can use the student's current workload to answer questions such as:

> "I have 90 minutes. What should I focus on?"

This is where having application context becomes useful.

The AI isn't only answering a question.

It's helping the student decide what to do next.

---

# Why This Isn't Just Another Chatbot

There are already countless AI chatbots.

So I didn't want StudyForge to be another chat interface with a different color scheme.

The difference I wanted to explore is **context**.

A normal chatbot starts with:

Enter fullscreen mode Exit fullscreen mode


text
"What do you want to ask?"


StudyForge starts with:

Enter fullscreen mode Exit fullscreen mode


text
"What is happening in your workspace?"




The application can already know about the student's tasks, subjects, notes, goals, and priorities.

That information can then be used to make the AI response more relevant.

The product is therefore less about adding an AI chat window and more about integrating AI into an existing workflow.

---

# Why Open Innovation Matters

This project was also an opportunity to explore what changes when the AI layer is based on an open-weight model.

With Gemma, developers can experiment with the model and the surrounding architecture instead of treating the AI layer as a completely opaque external dependency.

That matters for projects like StudyForge because students and developers can experiment with:

- different model configurations
- local AI workflows
- specialized prompts
- model swapping
- custom application context
- different deployment approaches

The open approach also makes experimentation more accessible to developers who want to understand how AI fits into an actual application.

For me, the biggest value of open innovation is **control and experimentation**.

Instead of treating AI as a black box that sits outside the application, developers can explore how the model behaves when it becomes part of the product itself.

---

# Technical Challenges

One of the biggest challenges was connecting the AI to meaningful application context.

Sending a question to an AI model is relatively straightforward.

The harder problem is deciding:

**What information should the model actually receive?**

Sending everything would create unnecessary context.

Sending nothing would turn StudyForge into a generic chatbot.

The solution was to treat the application context as a separate layer and provide the AI with relevant information for each task.

Another challenge was keeping the application simple.

It was tempting to add more infrastructure, more AI frameworks, and more features.

But every additional component creates another thing to maintain.

For an MVP designed around a student workflow, simplicity was more valuable than complexity.

---

# What I Learned

The biggest thing I learned while building StudyForge AI is that **context can be more valuable than simply adding more AI features**.

A chatbot can answer questions.

A contextual assistant can help someone make a decision.

That difference completely changed how I thought about the AI layer.

I also learned that building for a real person changes the development process.

Instead of optimizing for a feature checklist, you start asking:

> "Would this actually help the person I'm building it for?"

That is a much better product question.

---

# What's Next

StudyForge AI is an MVP, so there are several areas I would like to improve.

Future versions could include:

- better long-term learning history
- more personalized revision schedules
- stronger note understanding
- smarter study recommendations
- improved analytics
- exam preparation modes
- coding interview preparation
- better internship assistance
- mobile support
- support for additional open-weight models

The goal would remain the same:

**Help the student decide what to do next.**

---

# Best Use of Gemma

I'm submitting StudyForge AI for the **Best Use of Gemma** category.

The challenge describes this category as using Google's open-weight Gemma model in the project, including running it locally, fine-tuning it, or serving it through a provider.

Gemma is not included as a decorative chatbot.

It is integrated into the actual StudyForge workflow to power AI-assisted:

- study planning
- topic explanations
- recommendations
- student assistance

The model is connected to the application context so that AI can be used as part of the student's workflow rather than as a completely separate tool.

---

# Tech Stack

### Frontend

- React
- TypeScript
- Vite
- Tailwind CSS
- Zustand

### Backend

- Python
- FastAPI
- SQLAlchemy
- SQLite

### AI

- Google Gemma

### Development

- Git
- GitHub

---

# GitHub

🔗 **https://github.com/Ashutoshranjan195/studyforge-ai**

---

# What I Would Like to Improve Next

The first version of StudyForge helped me validate the basic idea:

**A student's productivity system becomes more useful when AI understands the context around the work.**

The next step would be making that context deeper over time.

Instead of only knowing what tasks exist today, a future version could understand how the student has been learning over weeks or months and adapt recommendations accordingly.

That would move StudyForge from:

> "Here are your tasks."

towards:

> "Here's what you should focus on, and here's why."

---

# Final Thoughts

I started StudyForge AI with a simple problem:

A student can have plenty of tools and still not know what to do next.

So I built a workspace that brings those activities together and adds an open-weight AI layer to help turn that information into useful decisions.

For me, the interesting part isn't simply that Gemma can answer questions.

It's that an open-weight model can become part of a real workflow.

**StudyForge AI is my attempt to make studying a little less fragmented and the next step a little clearer.**

Built for a friend.  
Built with open AI.  
Built to help students focus on what matters next.

---

## Prize Category

**Best Use of Gemma**

---

# Tags

#devchallenge #weekendchallenge #hf26challenge
Enter fullscreen mode Exit fullscreen mode

Top comments (0)