DEV Community

Cover image for QuizPlay - play certification quizzes straight from GitHub
taarimalta
taarimalta

Posted on

QuizPlay - play certification quizzes straight from GitHub

After taking AZ-204, AZ-104, and AZ-305, I realized that while Microsoft Learn is free, it's not enough to pass. You need practice and practice costs money.

The paid platforms want $30-$50/month. The free ones are mostly outdated multiple choice questions with no explanations. And none of them have the question types you actually get on the exam - case studies with tabbed reference material, hotspot images where you click on a diagram, drag-and-drop ordering, fill-in-the-blank dropdowns.

So I built QuizPlay. Think of it like a music player, but for quizzes.

QuizPlay storefront showing available quiz sets

How it works

You point it at a GitHub repo that has quiz questions and it plays them. No backend, no account, no database. It runs entirely in your browser.

It supports seven question types:

  • Single and multiple choice
  • Ordering (drag items into the correct sequence)
  • Hotspot (click on the correct region of a diagram)
  • Hotspot-dropdown (dropdown menus on image zones)
  • Matching (pair items to slots)
  • Fill-in-the-blank (complete statements using dropdowns)
  • Case studies (tabbed reference scenarios with linked questions)

That last one is the big one. Real Azure exams give you a case study with tabs - company overview, business goals, network diagram - and then ask you questions about it. I haven't seen a free practice tool do that

Here's what the quiz player looks like with a case study question:

Quiz player showing a case study with tabbed content, answer options, timer, and navigation

You get a timer, mark-for-review, a question navigator and detailed explanations after every question

Quizzes live in GitHub repos

This is the part I'm most happy about. Quiz content doesn't live in the app. It lives in GitHub repos

Each quiz is just a repo with this structure:

my-quiz/
├── quiz.json          # manifest
├── questions/         # individual question JSON files
├── scenarios/         # optional case study files
├── assets/images/     # diagrams, exhibits
└── README.md
Enter fullscreen mode Exit fullscreen mode

The player fetches the manifest, loads the questions, renders them. No API keys, no admin panel

The quiz content repos on quizplay-io are all open - you can fork them, improve them, submit PRs for corrections, or use them as a starting point for your own. The player app itself is not open source but all the content that feeds into it is

What questions look like

Each question is a JSON file. Let's look at a few

A single-choice question:

{
  "id": "q-001",
  "type": "single",
  "question": "What does HTML stand for?",
  "options": [
    { "text": "Hyper Text Markup Language", "correct": true },
    { "text": "High Tech Modern Language" },
    { "text": "Hyper Transfer Markup Language" }
  ],
  "explanation": "HTML stands for **Hyper Text Markup Language**."
}
Enter fullscreen mode Exit fullscreen mode

The explanation field supports Markdown so you can use code blocks, links, images etc

A hotspot question has zones defined as percentages of the image dimensions:

{
  "type": "hotspot",
  "question": "Click on the Load Balancer in the diagram.",
  "image": "assets/images/architecture.png",
  "zones": [
    { "x": 10, "y": 5, "width": 25, "height": 20, "label": "Load Balancer" },
    { "x": 40, "y": 30, "width": 20, "height": 25, "label": "Web Server" },
    { "x": 70, "y": 50, "width": 20, "height": 20, "label": "Database" }
  ],
  "correctZone": 0
}
Enter fullscreen mode Exit fullscreen mode

And a case study question references a shared scenario file:

{
  "caseStudy": "scenarios/cloud-migration.json",
  "question": "Which service meets Contoso's HA requirement?",
  "options": [
    { "text": "Azure Traffic Manager", "correct": true },
    { "text": "Azure Load Balancer" },
    { "text": "Azure Application Gateway" }
  ]
}
Enter fullscreen mode Exit fullscreen mode

The scenario file has tabs just like the real exam:

{
  "tabs": [
    { "title": "Overview", "content": "Contoso Ltd is migrating to Azure..." },
    { "title": "Requirements", "content": "- High availability across two regions\n- Budget: $5,000/month" }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Multiple questions can share the same scenario

How to create your own quiz

The fastest way is to fork the sample quiz repo. It has working examples of every question type

Edit quiz.json with your quiz info:

{
  "title": "Your Quiz Title",
  "description": "A short description for the quiz card.",
  "category": "Your Topic",
  "questions": [
    "questions/01-your-first-question.json",
    "questions/02-your-second-question.json"
  ]
}
Enter fullscreen mode Exit fullscreen mode

Replace the sample questions in questions/ with your own

If you don't want to write questions by hand, the sample repo also includes a quiz-folder-creation-prompt.md that you can paste into Claude or any AI assistant. It'll generate a full set of 36 questions with case studies, correct question type distribution, proper JSON schemas and fictional company names. The official AZ quiz sets were all created this way

One thing I want to be clear about - these are not exam dumps. None of the questions are copied from real exams. The AI prompt is specifically designed to generate original questions based on the exam objectives, using fictional company names. I wanted to keep this legal and useful for actual learning, not just memorization of leaked answers

You can test locally before publishing - go to quizplay.io, click the folder icon and select your quiz folder from your computer

When you're ready, add the quizplay topic to your repo on GitHub (gear icon next to "About" on your repo page). That's it. QuizPlay discovers repos via GitHub's topic search so your quiz shows up in the Community Quizzes tab automatically. No pull request, no approval needed

Community Quizzes tab showing contributions from other users

Quizzes can be about anything - Azure, AWS, programming languages, history, science, whatever you want. People have already contributed an AWS SAA-C03 set and a PL-400 (Power Platform Developer) set

Current official quizzes

The quizplay-io org hosts practice sets for:

There's also a JavaScript Fundamentals sample quiz that demonstrates all seven question types - useful as a reference if you're building your own

Give it a try at quizplay.io. And if you make a quiz, tag it with quizplay - I'd love to see what people come up with!

Top comments (0)