Cole Wisniewski ← all projects

QuizWiz

Active

A self hosted quiz and study app built on GIFT question files.

Stack

App
SvelteKit · TypeScript
Data
GIFT · SQLite
Review
FSRS

What it is

I use QuizWiz to study from question sets I can keep and edit myself. It supports multiple choice, typed answers, flashcards and other GIFT question types. I built it as a self hosted place for both the material and my review history.

Quiz paper with one answer selected on a rose background

How it works

GIFT question files hold the study material. SvelteKit reads those files and shows one question at a time with feedback. SQLite stores the review history and settings. FSRS schedules the next review based on the rating I give after an answer. The app runs in one container on my k3s cluster.

Flow

  1. GIFT question files
  2. SvelteKit quiz view
  3. Answer feedback
  4. SQLite review history
  5. FSRS review schedule

The problem

Dragging an answer could leave a text selection behind and open the notes popup after the drop. Losing pointer capture or hiding the tab could also leave a ghost answer on screen. I reproduced both with browser event traces. I moved drag cleanup into one controller and limited notes selection to reading text. Cancelled drags now clear their preview.