By: Ashley Chin, Kimberly Maynard
Athena is a full-stack AI-powered quiz generation web application that creates interactive quizzes based on any topic the user enters.
Instead of using static or pre-written questions, Athena dynamically pulls information from Wikipedia and uses AI to generate natural, high-quality questions, explanations, and adaptive difficulty.
- Topic-based quiz generation (e.g., AI, Machine Learning, Organic Chemistry)
- AI-enhanced question generation (not just basic scraping)
- Difficulty levels
- Easy
- Medium
- Hard
- Multiple question types
- Multiple Choice (A, B, C, D)
- True / False (clickable like A/B)
- Definition-based questions
- Timer system (auto-submit when time runs out)
- Progress bar (fills as you answer)
- Answer explanations shown after submission
- Retry / regenerate quiz functionality
- Full-stack architecture
- Python (Flask backend)
- HTML / CSS / JavaScript frontend
- HTML5
- CSS3
- Vanilla JavaScript
- Python 3
- Flask
- NLTK (text processing)
- Scikit-learn (TF-IDF keyword extraction)
- Requests (Wikipedia API calls)
- Wikipedia API (content source)
- OpenAI API (AI-generated questions & explanations)
git clone https://github.com/kimmaynard/athena.git
cd athenapython3 -m venv venv
source venv/bin/activatepython -m venv venv
venv\Scripts\activatepip install flask nltk requests scikit-learn openaiexport OPENAI_API_KEY="your_api_key_here"setx OPENAI_API_KEY "your_api_key_here"python app.pyYou should see:
Running on http://127.0.0.1:5000/
open index.htmlOr use Live Server in VS Code.
- Enter a topic (e.g., "AI")
- Select difficulty (Easy / Medium / Hard)
- Choose number of questions (3, 5, 10)
- Click Start Quiz
- Answer questions
- Click Submit
- View results + explanations
athena/
│
├── app.py # Flask API server
├── athena_quiz_engine.py # Core quiz logic
│
├── index.html # Frontend UI
├── style.css # Styling
├── script.js # Frontend logic
│
├── venv/ # Virtual environment
└── README.md- User accounts
- Quiz history
- Leaderboard
- Better AI explanations
- Mobile optimization
- Implemented and integrated frontend–backend communication using Flask API endpoints
- Connected to
/api/quizfor quiz generation - Connected to
/api/gradefor grading and feedback
- Connected to
- Designed and managed the end-to-end quiz workflow:
- User input → API request → rendering → submission → results
- Structured and handled JSON-based API requests and responses
- Built dynamic state management system for answers, progress tracking, and submission state
- Implemented timer system with auto-submit functionality
- Developed the interactive quiz interface, including:
- Dynamic question rendering
- Answer selection handling
- Progress bar updates
- Debugged and resolved integration and functionality issues across frontend and API
- Designed and refined the user interface (UI/UX) for usability and consistency
- Authored and structured the project README documentation, including setup and usage instructions
- Developed the backend quiz generation engine using Python and Flask
- Implemented and structured API endpoints:
/api/quizfor quiz generation/api/gradefor grading logic
- Integrated Wikipedia API for dynamic content retrieval
- Implemented text processing pipeline using NLTK for sentence extraction and filtering
- Applied TF-IDF (Scikit-learn) for keyword extraction and ranking
- Built distractor generation logic for realistic answer options
- Implemented grading system with scoring and detailed results output
- Created the final project report and PowerPoint presentation documenting system design and implementation
This project is for educational use.
Athena transforms passive learning into an interactive AI-powered experience.
Users don’t just memorize — they engage, understand, and learn smarter.
Bird, Steven, Edward Loper, and Ewan Klein. Natural Language Processing with Python. O’Reilly Media, 2009.
Brown, Tom B., et al. “Language Models are Few-Shot Learners.” Advances in Neural Information Processing Systems, 2020.
ChatGPT. “Responses to queries about AI quiz generation project.” OpenAI, 13 Apr. 2026, https://chat.openai.com/.
Grinberg, Miguel. Flask Web Development. O’Reilly Media, 2018.
Kahoot! AS. “Kahoot!” https://kahoot.com/.
“MediaWiki API.” Wikimedia Foundation, https://www.mediawiki.org/wiki/API:Main_page.
Manning, Christopher D., Prabhakar Raghavan, and Hinrich Schütze. Introduction to Information Retrieval. Cambridge University Press, 2008.
OpenAI. “OpenAI API Documentation.” OpenAI, 2026, https://platform.openai.com/docs.
Pedregosa, Fabian, et al. “Scikit-learn: Machine Learning in Python.” Journal of Machine Learning Research, vol. 12, 2011, pp. 2825–2830.
Quizlet, Inc. “Quizlet.” https://quizlet.com/.