AI-powered study companion that transforms your notes into interactive quizzes, flashcards, and enhanced study materials.
- โจ Features
- ๐ค Accounts
- ๐ Google OAuth Login
- ๐ Quick Start
- ๐ Who Is EduDuck For?
- ๐ ๏ธ Tech Stack
- ๐ ๏ธ Local Development
- ๐ฏ Roadmap
- ๐ค Contributions
- ๐ฐ Support the Project
- โ Known Issues
- ๐ License
| Feature | Description |
|---|---|
| ๐ Quiz Generator | Upload notes โ instant quizzes |
| ๐๏ธ Flashcard Generator | Spaced repetition flashcards from any subject |
| โจ Note Enhancer | AI-powered summaries, diagrams, key concepts |
| ๐ Study Plan Generator | AI-generated daily study plans tailored to your notes, goals, time, and learning style |
| ๐ฆ DuckAI | Chat with your notes, get explanations & study tips |
| ๐ฑ Multi-format | TXT, PDF, PNG/JPG, handwritten notes via OCR |
| ๐ Multi-language | English, Polish, German, French, Ukrainian, Russian |
| ๐จ Modern UI | Dark/light mode, mobile-first, glassmorphism design |
| ๐ Google OAuth Login | Sign in instantly with Google, no password required |
EduDuck supports user accounts to provide fair access limits and enable future personalization features.
Creating a free account unlocks:
- ๐ฏ 3 free uses per day across:
- Quiz Generator
- Flashcard Generator
- Note Enhancer
- Study Plan Generator
- ๐ฆ DuckAI chat
- ๐ Access across all supported languages
- ๐๏ธ Viewing past queries and chats.
- ๐ Usage tracking to prevent abuse and keep the service available
Free usage resets daily. No payment required.
Accounts are the foundation for upcoming features, including:
- ๐ Quiz & study history
- ๐ Learning progress tracking
- โ๏ธ Cloud-saved notes and generated materials
- โญ Premium tiers with higher or unlimited usage
EduDuck relies on paid AI APIs.
Accounts help:
- keep a free tier available for students
- prevent abuse
- sustainably scale the platform ๐
(Hugging Face, Google Gemini, or OpenAI)
| Provider | Link | Free Tier |
|---|---|---|
| ๐ค Hugging Face | https://huggingface.co/settings/tokens | 1M tokens/month |
| โญ Google Gemini | https://aistudio.google.com/app/apikey | 15 RPM |
| ๐ฅ OpenAI | https://platform.openai.com/api-keys | ~$0.001/quiz |
๐ https://eduduck.app
- Students who want to learn faster from their own notes
- Teachers creating quizzes and study materials
- Self-learners preparing for exams
- Anyone tired of re-reading notes instead of testing knowledge
- Languages: HTML5, CSS3 (CSS variables), JavaScript, TypeScript
- Libraries: markdown-it
- Framework: Flask
- Auth: Flask-Login, Authlib (Google/GitHub/Discord/Microsoft OAuth), Werkzeug (security + password hashing), secrets, JWT
- Data: MongoDB (PyMongo), BSON, certifi
- AI + HTTP: httpx (HTTP/2, connection pooling), OpenAI/Gemini/Hugging Face integrations, requests (Mailgun)
- Storage: Cloudflare R2 via boto3/botocore
- File processing: pypdf, Pillow (PIL), python-magic (file type detection), defusedxml (SVG/XML safety), io.BytesIO, base64
- Utilities: python-dotenv, uuid, re, functools, msgspec (fast JSON), json, os, atexit, datetime, collections, math, random
- Security & rate limiting: Flask-WTF (CSRF), Flask-Limiter, Werkzeug, defusedxml, python-magic
- Logging: rich
- i18n: Flask-Babel
- Hugging Face Inference API
- Google Gemini (2.5 Flash)
- OpenAI (GPT models)
- Mailgun
- quiz_parser
- study_plan_parser
- submit_quiz
- Installation
git clone https://github.com/VxidDev/eduDuck.git
cd eduDuck
python -m venv venv
source venv/bin/activate
bash build.sh- Add .env with the following variables:
FREE_TIER_API_KEY= ... (OpenAI key)
MONGODB_URI= ... (MongoDB API link)
SECRET_KEY= ... (32 char long)
GOOGLE_CLIENT_ID= ...
GOOGLE_CLIENT_SECRET= ...
MAILGUN_API_KEY= ...
VERIFICATION_EMAIL= ...
R2_ACCESS_KEY_ID= ...
R2_SECRET_ACCESS_KEY= ...
R2_ACCOUNT_ID= ...
R2_BUCKET_NAME= ...
- Run locally using Gunicorn
# Production-style run with 4 workers on port 5000
gunicorn -w 4 -b 0.0.0.0:5000 main:app| Status | Feature |
|---|---|
| โ Done | Basic quiz generation |
| โ Done | PDF/TXT/image upload + OCR |
| โ Done | Quiz & Flashcard visualization |
| โ Done | Note Enhancer |
| โ Done | DuckAI chat |
| โ Done | Multi-language support |
| โ Done | Dark mode + mobile UI |
| โ Done | Quiz difficulty levels |
| โ Done | Export generated material (.json) |
| โ Done | OpenAI API support |
| โ Done | Free daily usage (3/day) |
| โ Done | UI/UX improvements |
| โ Done | Study Plan Generator |
| โ Done | Google OAuth |
| โ Done | Email Verification |
| โ Done | User accounts & quiz history |
| โ Done | Improve OCR |
| โ Done | Add User PFP support |
| โ Done | Migrate quiz parser to C , C++ or Rust. |
| โ Done | Improve AiReq |
| โ Done | Add attaching files to DuckAI. |
| โ Done | Fix file uploading if edited notes.textContent |
| โ Done | Added password reset option |
| โ Done | Added account deletion option |
| โ Done | Improved UX/UI |
| โ Done | Migrated part of JS code to TS |
| โ Done | Fix footer not at the bottom bug. |
| โ Done | Migrated most of JS code to TS. |
| โ Done | Study progress tracking |
| โ Done | Add note analyzer |
| โ Done | Simplify UI |
| โ Done | Add multi-language pages. |
| ๐ In Progress | Bug fixes and polishing. |
| โณ Planned | ??? |
- Art: netkv โค๏ธ
- Code & Testing: VxidDev
- Help with Russian translation and minor clean-up: abdussamad567
Deathtyr โ $30
โInvest in this guy, makes life easier (I really said that!)โ
None :D
Apache License 2.0 - see LICENSE for details.
Made with โค๏ธ by VoidDev - self-taught since June 2025
