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.
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:
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
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**."
}
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
}
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" }
]
}
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" }
]
}
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"
]
}
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
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:
- AZ-900 - Azure Fundamentals
- AZ-104 - Azure Administrator
- AZ-204 - Azure Developer Associate
- AZ-305 - Azure Solutions Architect Expert
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)