๐ Cert Study Guides¶
Status: โ Complete Priority: ๐ Important (Tier 2) Category: ๐ฌ Content / ๐ผ Official Created: 2026-04-10 Completed: 2026-04-11 Part of: Free Tools Section Live at: aguidetocloud.com/cert-tracker/ Roadmap: aguidetocloud.com/cert-tracker/roadmap/
The Problem¶
Microsoft constantly updates certification exam objectives. Students spend weeks studying outdated material because they didn't know the exam changed.
The Solution¶
A certification hub at aguidetocloud.com/cert-tracker/ that:
- ๐ Tracks 41 active Microsoft certification exams across 7 categories
- ๐ Shows current skills measured (objectives with percentage weights)
- ๐ Links to Microsoft Learn study resources for each exam
- ๐ Filterable by category, level, and search
- ๐ Weekly change detection โ structured tree-diff on exam objectives
- ๐ก RSS feed for exam change alerts
- ๐ฏ Direct links to practice assessments and official exam pages
Architecture¶
Same proven pipeline pattern as AI News and M365 Roadmap:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Actions (Weekly Cron โ Sundays 5:00 UTC) โ
โ โ
โ 1. fetch_exams.py โ Study guide markdown from Learn โ
โ 2. diff_engine.py โ Structured tree-diff vs previous โ
โ 3. generate_data.py โ Index + per-exam JSON + RSS โ
โ 4. Push data to main site + deploy โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Tech Stack¶
| Component | Tech | Cost |
|---|---|---|
| Data source | Microsoft Learn study guide pages (markdown endpoint) | $0 |
| Exam list | Curated config (exams.json) โ 44 exams tracked |
$0 |
| Diff engine | Python โ structured tree-diff, content hashing | $0 |
| Scheduling | GitHub Actions weekly cron | $0 |
| Frontend | Hugo + vanilla JS, emerald (#10B981) theme | $0 |
| Hosting | Azure SWA (existing) | $0 |
| Total | $0 |
Key Decisions & Learnings¶
-
Learn Catalog API is INCOMPLETE โ Missing flagship exams (AZ-900, AI-900, SC-900, etc.). Only 25 of 137 exams had providers. Switched to curated exam config + direct study guide scraping.
-
Markdown endpoint is gold โ
?accept=text/markdownon Learn pages returns clean markdown with YAML front matter (updated_at, git_commit_id). Much better than HTML scraping. -
Split JSON for performance โ Index (49 KB) for listing + per-exam detail files (8 KB avg) loaded on demand via modal. Total 340 KB across 41 files.
-
Rubber-duck agent caught the API issue โ The critique flagged that the Catalog API was incomplete BEFORE we built anything. Saved significant rework.
Data Coverage¶
| Category | Exams | Example Codes |
|---|---|---|
| Azure | 12 | AZ-900, AZ-104, AZ-305, AZ-500, AZ-802 ๐งช |
| Security | 7 | SC-900, SC-100, SC-200, SC-300, SC-500 ๐งช |
| AI | 6 | AI-900, AI-102, AI-901 ๐งช, AI-103 ๐งช |
| Data | 6 | DP-900, DP-100, DP-300, DP-420, DP-750 ๐งช |
| Microsoft 365 | 5 | MS-900, MS-102, MS-700, MD-102 |
| Power Platform | 6 | PL-900, PL-200, PL-300, PL-400 |
| Dynamics 365 | 10 | MB-210, MB-230, MB-310, MB-800, MB-820 |
Interactive Features (all on every study guide page)¶
| # | Feature | How it works |
|---|---|---|
| 1 | โ Study Progress Checkboxes | Tick off objectives as you study, localStorage persistence |
| 2 | ๐ Progress Bar | "35 of 57 (61%)" with emerald fill, reset button |
| 3 | โฐ Retirement Countdown | "47 days remaining" on 10 retiring exams |
| 4 | ๐จ๏ธ Print Checklist | One-click clean B&W print of objectives |
| 5 | โฑ๏ธ Prep Time Estimate | 2-4 weeks (Fund), 4-8 (Assoc), 6-12 (Expert) |
| 6 | ๐ Study Plan Generator | Pick exam date โ weekly plan by domain weight |
| 7 | ๐ What to Study Next | Cross-links to related exams (from JSON) |
| 8 | ๐ TOC Numbered List | Auto-built from h2 headings |
| 9 | ๐ Collapsible Sections | Click h3 to expand/collapse skill domains |
Certification Roadmap Page¶
- URL:
/cert-tracker/roadmap/ - Style: Kanban board โ 6 category swim lanes ร 3 level columns
- Design iterations: Tree โ โ Metro โ โ Card grid โ โ Kanban โ
- Data-driven from
latest.json, auto-updates weekly
Repos¶
- Pipeline:
susanthgit/cert-tracker(private) - Frontend: Part of
susanthgit/aguidetocloud-revamp