StudyForge

16th December 2025
6 min read

Project Overview

To help me study for my exams, I vibe-coded a website where the user can upload content (videos, audio, text) and generate summaries, notes, flashcards and quizzes from it. The user can choose between OpenAI API or a local model that's running on a server (in my case it runs on my own computer). To upload Panopto videos, I made a Chrome extension that allows me to let the server transcribe the video and then generate the content based on the transcript. Multiple files can uploaded for one summary/note/flashcards/quiz. The user can also export the content as a .PDF and also share a link to the content with others. It supports multiple languages and can regenerate the content if needed.

Project Gallery

Login screen

Login

The login screen of StudyForge, only works with email/password.

Register screen

Register

The register screen, where users can create an account.

Upload screen

Upload

Where users can upload content (videos, audio, text).

Settings screen

Settings

Where the user can enter their API key, select the local model, and select the default language for the generated content.

Study collection

Study collection

Here you can view your study collection items.

Study item summary

Study item - summary

Here you can view the summary of a study item. It can also create tables.

Study item notes

Study item - notes

Here you can view the notes of a study item.

Study item concepts

Study item - concepts

Here you can view the concepts of a study item. It act as a glossary for the most important concepts.

Study item transcription

Study item - transcription

Here you can view the transcription of a study item. It's the text that was transcribed from the video/audio.

Study item flashcards

Study item - flashcards (front-side)

Here you can view the concept of a flashcard.

Study item flashcards

Study item - flashcards (back-side)

Here you can view the answer of a flashcard.

Quiz creation - select files

Quiz creation - select files

Here you can select the files to use for the quiz.

Quiz creation - model selection

Quiz creation - model selection

Here you can select the AI model to use for the quiz.

Quiz creation - options selection

Quiz creation - options selection

Here you can select the options for the quiz (type of questions, number of questions).

Quiz creation - true/false question

Quiz creation - true/false question

A true/false question of a quiz.

Quiz creation - fill in the blank question

Quiz creation - fill in the blank question

A fill in the blank question of a quiz.

Quiz creation - multiple choice question

Quiz creation - multiple choice question

A multiple choice question of a quiz.

Quiz results

Quiz results

Here you can view the results of a quiz.

Generate content - language selection

Generate content - language selection

Here you can select the language of the generated content.

Generate content - model selection

Generate content - model selection

Here you can select the AI model to use for the generated content.

Tech Stack, Tools & Features

frontend

  • Vite
  • React
  • Chrome extension

backend

  • Python
  • MySQL
  • Ollama
  • Whisper

features

  • Login/register system
  • Upload content (videos, audio, text)
  • Generate summaries, notes, flashcards and quizzes
  • Upload multiple files for one summary/note/flashcards/quiz
  • Choice between OpenAI API or local model
  • Supports multiple languages
  • Share link to content with others
  • Export content as .PDF

Final Thoughts

After my KaraWeb project, I realized that I can also use Whisper to quickly summarize videos/audio. This became the idea for StudyForge. Since the exams are coming up, I can't really 100% tell that this will help me, but it was still a fun project to work on. Will update this when exams are over!