Back


Year
2025
Tech & Technique
JavaScript, GitHub Pages, GitHub Actions, HTML5
Description
Problem: Developers learning JavaScript needed an engaging, self-paced quiz platform that covers the full JS spectrum — from basics to ES6+ advanced patterns — with timed pressure and instant feedback to reinforce learning.
Solution: Built Quizaroo, a modern interactive JavaScript quiz application using vanilla JavaScript, Tailwind CSS, and a clean modular architecture — featuring 20 curated questions across 4 difficulty levels, a 10-second countdown timer per question, instant answer feedback, and a full results breakdown with answer review.
Key Features:
Technical Implementation:
Impact: Delivered a fully accessible, zero-dependency JavaScript quiz app with CI/CD automation, modular architecture, and 4-tier difficulty progression — live on GitHub Pages and ready to extend with new question sets.
Solution: Built Quizaroo, a modern interactive JavaScript quiz application using vanilla JavaScript, Tailwind CSS, and a clean modular architecture — featuring 20 curated questions across 4 difficulty levels, a 10-second countdown timer per question, instant answer feedback, and a full results breakdown with answer review.
Key Features:
- 🎯 20 Levelled Questions: 4 difficulty tiers — Level 1: Basics, Level 2: Core JS, Level 3: ES6 Features, Level 4: Advanced JS — 5 questions each
- ⏱️ 10-Second Timer: Per-question visual countdown with automatic progression on timeout
- ✅ Instant Feedback: Correct/incorrect highlights immediately after each answer selection
- 📊 Detailed Results: Full score breakdown with per-question answer review at the end
- ♿ Accessibility: Semantic HTML, ARIA labels, keyboard navigation support, and color contrast compliance
- 🚀 CI/CD Pipeline: GitHub Actions workflow for automated linting and deployment to GitHub Pages on push to main
Technical Implementation:
- Built with zero external runtime dependencies — pure vanilla JavaScript using ES6+ features (classes, arrow functions, template literals, modules)
- Followed modular architecture:
app.js(controller),quiz.js(state & scoring),timer.js(reusable countdown),questions.js(data),ui.js(DOM rendering) - Applied Module, Observer, Singleton, and State Management patterns for clean separation of concerns
- Styled with Tailwind CSS and custom CSS with dark mode via system preference detection
- Used event delegation and efficient DOM manipulation for minimal memory footprint and optimized re-renders
- Automated deployment via GitHub Actions to GitHub Pages with lint checks on every push
Impact: Delivered a fully accessible, zero-dependency JavaScript quiz app with CI/CD automation, modular architecture, and 4-tier difficulty progression — live on GitHub Pages and ready to extend with new question sets.
My Role
Frontend Developer
Designed and built the entire application from scratch:
Designed and built the entire application from scratch:
- 🏗️ Architecture: Designed the 5-module vanilla JS architecture with clear separation between state, timer, data, rendering, and app control
- ⏱️ Timer Module: Built a reusable Observer-pattern timer with configurable duration, tick callbacks, and timeout handling
- 🎯 Quiz Engine: Implemented state management for question progression, scoring, answer tracking, and results compilation
- 🎨 UI Layer: Wrote all DOM rendering logic in
ui.jsusing Tailwind CSS classes with smooth transitions, progress indicators, and responsive layout - ♿ Accessibility: Added semantic HTML, ARIA labels, focus indicators, keyboard navigation, and WCAG color contrast compliance
- 🚀 CI/CD: Configured GitHub Actions workflow for automated lint checks and GitHub Pages deployment on every push to main


