A CLI-based learning tool with Fisher-Yates shuffling and SuperMemo 2 โ built to help me (and maybe you) study smarter, not harder.
๐ง Why I Built StudyQuiz
Flashcards helped me memorize, but they didn't help with deep understanding.
I tried Anki, Quizlet, even Python scripts but nothing clicked.
What I needed was:
- Multiple-choice quizzes per chapter, not per flashcard.
- A learning algorithm like SuperMemo 2 for spaced repetition.
- A fast, testable backend I could expand over time.
So I built StudyQuiz.
๐ง Tech Stack
- ๐ Python
- โก FastAPI + Async SQLAlchemy
- ๐ PostgreSQL
- ๐งช Pytest + test DB reset fixture
- ๐ก CLI-based quiz attempts for now (browser UI coming soon)
โ
Whatโs in v0.1.0
- โ
Batch creation of:
- Users
- Modules
- Quizzes
- Questions + Answers (nested JSON)
- โ Fisher-Yates question shuffling
- โ SuperMemo 2 spaced repetition
- โ
Quiz attempts that:
- Record scores
- Schedule follow-ups
- Run in the terminal
- โ Fully tested core
๐ฅ๏ธ How to Run
1) Clone the repo
2) Install dependencies
3) Run the app:
uvicorn app.main:app --reload
4) Use Swagger UI:
Visit http://127.0.0.1:8000/docs
๐ฎ The quiz runs interactively in your terminal after the POST is triggered.
๐งญ Next: A Guide for CLI + Leveraging ChatGPT for Batch Queries
Before building the UI, Iโll publish a step-by-step guide on:
๐ฅ๏ธ How to use StudyQuiz from the terminal
๐ง How to leverage ChatGPT to:
Generate quiz questions and answers in batch
Summarize slides and course material
Study smarter, faster, and with deeper understanding
๐ฏ The goal: help early adopters get real value before the full frontend arrives
๐ Whatโs Coming in v0.2.0
- ๐ Full browser UI with Svelte + TailwindCSS
- ๐งช More test coverage (attempts, followups)
โญ Try It + Feedback
Hereโs the repo:
๐ github.com/aissa-laribi/studyquiz
- Star it โญ if you like it
- Raise issues ๐ฌ if something breaks
๐ฌ Letโs Connect
Ask me questions here or find me on GitHub
Thanks for reading ๐
Top comments (0)