Changelog
What's changed
A running log of notable updates to this study site. Jump to a date, filter by type, or expand only what you need.
Jun 11, 2026
6 days agoLatest5
Jun 11, 2026
6 days agoLatest- featRAG over glossary + labs: 197 glossary terms and 110 labs embedded into Cloudflare Vectorize (@cf/baai/bge-base-en-v1.5, 768-dim cosine index "glossary-rag") for semantic retrieval
- featlib/ai/rag.ts — queryRag() embeds the question and retrieves the top-K most similar entries (similarity ≥ 0.6); formatRagContext() injects them as AWS-verified grounding context
- feat/api/ai/explain (practice AI Explain drawer) now grounds answers in semantically matched glossary definitions, not just keyword matches
- feat/api/ai/explain-arch (Visual page sidebar) now grounds node + diagram explanations in retrieved glossary and lab content alongside live AWS docs search
- chorescripts/sync-rag-index.ts (bun run rag:sync): offline embedding + upsert pipeline via Workers AI and Vectorize v2 REST APIs, idempotent by content hash
Jun 9, 2026
1 wk ago6
Jun 9, 2026
1 wk ago- featLabs section (/labs): new index + detail pages for personal hands-on lab notes — typed data model (slug, level, services, tasks, takeaways), anchor navigation between tasks, "What I Learned" section
- featLabs: seeded with IAM intro lab (users, groups, least-privilege policies) and EC2 fundamentals lab (VPC, instance launch, Apache, custom page)
- featNav: Labs added to desktop nav bar and mobile drawer (🧪 icon)
- featSiteFooter: Labs link added site-wide ("Labs · hands-on practice notes")
- featAI sources: internal site pages (Labs, VPC Guide) now surface as clickable source links alongside AWS Docs and YouTube — powered by keyword-scored findInternalLinks() matcher
- featInternal sources wired into all AI flows: chat, explain (practice), hint (practice), and Visual page explain-arch sidebar
Jun 6, 2026
1 wk agoVisual page: always-visible AI sidebar — click any node for per-service explanation or "✦ Explain diagram" for full architecture overview; structured sections: What problem, How traffic flows, SAA-C03 Exam Relevance, Common Exam Traps, Sources · Visual page: Sources section now powered by AWS Knowledge MCP — up to 3 live docs.aws.amazon.com links fetched in parallel with AI explanation (replaced static study PDFs) · aws-knowledge.ts pickBestHit: optional chaining on h.url prevents TypeError when MCP returns hits with missing url field (was causing 500s) · ReactFlow Controls panel: dark theme override via globals.css — transparent bg, visible icons, consistent with site dark palette · AI page (/ai) now linked in nav — animated sparkle ✦ icon on desktop, "Ask AI" in mobile drawer · Free AI: ILMU (primary) → NVIDIA NIM → Gemini 2.5 Flash automatic fallback chain — if one hits rate limits, next kicks in transparently · NVIDIA NIM added as free server-side provider (nvapi- key, 40 RPM, 100+ models including Llama 3.3 70B) · OpenRouter BYOK: access 27+ free models (Llama, DeepSeek, Qwen) via single sk-or- key · AI provider toggle redesigned: Auto (free fallback) + OpenRouter/Ollama as BYOK — no manual free provider selection needed · AI chat: viewport-height layout, example prompt chips, Chat / Explain question mode toggle, trash icon to clear history · SSR hydration mismatch on AI provider — localStorage now read in useEffect, not useState initializer · ILMU, Gemini, NVIDIA use server-side keys (no user config); Claude/Anthropic BYOK hidden from UI (backend still functional)
12
Jun 6, 2026
1 wk agoVisual page: always-visible AI sidebar — click any node for per-service explanation or "✦ Explain diagram" for full architecture overview; structured sections: What problem, How traffic flows, SAA-C03 Exam Relevance, Common Exam Traps, Sources · Visual page: Sources section now powered by AWS Knowledge MCP — up to 3 live docs.aws.amazon.com links fetched in parallel with AI explanation (replaced static study PDFs) · aws-knowledge.ts pickBestHit: optional chaining on h.url prevents TypeError when MCP returns hits with missing url field (was causing 500s) · ReactFlow Controls panel: dark theme override via globals.css — transparent bg, visible icons, consistent with site dark palette · AI page (/ai) now linked in nav — animated sparkle ✦ icon on desktop, "Ask AI" in mobile drawer · Free AI: ILMU (primary) → NVIDIA NIM → Gemini 2.5 Flash automatic fallback chain — if one hits rate limits, next kicks in transparently · NVIDIA NIM added as free server-side provider (nvapi- key, 40 RPM, 100+ models including Llama 3.3 70B) · OpenRouter BYOK: access 27+ free models (Llama, DeepSeek, Qwen) via single sk-or- key · AI provider toggle redesigned: Auto (free fallback) + OpenRouter/Ollama as BYOK — no manual free provider selection needed · AI chat: viewport-height layout, example prompt chips, Chat / Explain question mode toggle, trash icon to clear history · SSR hydration mismatch on AI provider — localStorage now read in useEffect, not useState initializer · ILMU, Gemini, NVIDIA use server-side keys (no user config); Claude/Anthropic BYOK hidden from UI (backend still functional)
- featVisual page: always-visible AI sidebar — click any node for per-service explanation or "✦ Explain diagram" for full architecture overview; structured sections: What problem, How traffic flows, SAA-C03 Exam Relevance, Common Exam Traps, Sources
- featVisual page: Sources section now powered by AWS Knowledge MCP — up to 3 live docs.aws.amazon.com links fetched in parallel with AI explanation (replaced static study PDFs)
- fixaws-knowledge.ts pickBestHit: optional chaining on h.url prevents TypeError when MCP returns hits with missing url field (was causing 500s)
- featReactFlow Controls panel: dark theme override via globals.css — transparent bg, visible icons, consistent with site dark palette
- featAI page (/ai) now linked in nav — animated sparkle ✦ icon on desktop, "Ask AI" in mobile drawer
- featFree AI: ILMU (primary) → NVIDIA NIM → Gemini 2.5 Flash automatic fallback chain — if one hits rate limits, next kicks in transparently
- featNVIDIA NIM added as free server-side provider (nvapi- key, 40 RPM, 100+ models including Llama 3.3 70B)
- featOpenRouter BYOK: access 27+ free models (Llama, DeepSeek, Qwen) via single sk-or- key
- featAI provider toggle redesigned: Auto (free fallback) + OpenRouter/Ollama as BYOK — no manual free provider selection needed
- featAI chat: viewport-height layout, example prompt chips, Chat / Explain question mode toggle, trash icon to clear history
- fixSSR hydration mismatch on AI provider — localStorage now read in useEffect, not useState initializer
- refactorILMU, Gemini, NVIDIA use server-side keys (no user config); Claude/Anthropic BYOK hidden from UI (backend still functional)
Jun 5, 2026
1 wk agoGlobal PWA MVP: manifest.webmanifest + icon-192/512 PNG on whole site (installable from any page); /pwa stays hidden design lab for mockups · AI leave warnings (beforeunload / Back / in-app links) only on /ai and /practice — not site-wide
2
Jun 5, 2026
1 wk agoGlobal PWA MVP: manifest.webmanifest + icon-192/512 PNG on whole site (installable from any page); /pwa stays hidden design lab for mockups · AI leave warnings (beforeunload / Back / in-app links) only on /ai and /practice — not site-wide
- featGlobal PWA MVP: manifest.webmanifest + icon-192/512 PNG on whole site (installable from any page); /pwa stays hidden design lab for mockups
- fixAI leave warnings (beforeunload / Back / in-app links) only on /ai and /practice — not site-wide
Jun 4, 2026
1 wk agoAI study page (/ai): Chat + Explain question modes — Groq (server), Claude & ILMU (BYOK); not linked in main nav (direct URL only) · AI session persistence: chat + practice hints in sessionStorage (survives refresh, cleared when browser/tab session ends) · Native leave warnings when AI session has data: beforeunload (close/refresh), confirm on Back, confirm on in-app link navigation · Practice: “Understand this question” pre-answer hint — what the question asks, keywords, how to tackle; AWS docs via Knowledge MCP + study notes; no YouTube · API routes: /api/ai/chat (YouTube search links on chat only), /api/ai/explain, /api/ai/hint — shared provider routing (Groq / Anthropic / ILMU) · AWS Knowledge MCP: real docs.aws.amazon.com URLs resolved server-side from docsSearchPhrase (no hallucinated doc links) · ILMU BYOK: api.ilmu.ai Anthropic-compatible messages API (nemo-super) alongside Claude sk-ant- keys · Ollama Cloud BYOK: ollama.com/api/chat with Bearer API key (default model gpt-oss:120b) on /ai, practice hints, and explain routes · wrangler.jsonc: GROQ_API_KEY and AI_GATEWAY_BASE_URL binding placeholders — secrets via .dev.vars locally or wrangler secret in production · lib/ai: providers, complete-json, aws-knowledge, client-headers; AWSDocsLink / QuestionHintPanel / PracticeQuestionHint components · Practice hints: bullet-point concise copy, amber keyword highlights, session cache per questionId (instant replay + Regenerate) · Practice hints: Deep Notes link to /learn#section (matched from awsServices index — e.g. EC2 User Data → Compute section)
12
Jun 4, 2026
1 wk agoAI study page (/ai): Chat + Explain question modes — Groq (server), Claude & ILMU (BYOK); not linked in main nav (direct URL only) · AI session persistence: chat + practice hints in sessionStorage (survives refresh, cleared when browser/tab session ends) · Native leave warnings when AI session has data: beforeunload (close/refresh), confirm on Back, confirm on in-app link navigation · Practice: “Understand this question” pre-answer hint — what the question asks, keywords, how to tackle; AWS docs via Knowledge MCP + study notes; no YouTube · API routes: /api/ai/chat (YouTube search links on chat only), /api/ai/explain, /api/ai/hint — shared provider routing (Groq / Anthropic / ILMU) · AWS Knowledge MCP: real docs.aws.amazon.com URLs resolved server-side from docsSearchPhrase (no hallucinated doc links) · ILMU BYOK: api.ilmu.ai Anthropic-compatible messages API (nemo-super) alongside Claude sk-ant- keys · Ollama Cloud BYOK: ollama.com/api/chat with Bearer API key (default model gpt-oss:120b) on /ai, practice hints, and explain routes · wrangler.jsonc: GROQ_API_KEY and AI_GATEWAY_BASE_URL binding placeholders — secrets via .dev.vars locally or wrangler secret in production · lib/ai: providers, complete-json, aws-knowledge, client-headers; AWSDocsLink / QuestionHintPanel / PracticeQuestionHint components · Practice hints: bullet-point concise copy, amber keyword highlights, session cache per questionId (instant replay + Regenerate) · Practice hints: Deep Notes link to /learn#section (matched from awsServices index — e.g. EC2 User Data → Compute section)
- featAI study page (/ai): Chat + Explain question modes — Groq (server), Claude & ILMU (BYOK); not linked in main nav (direct URL only)
- featAI session persistence: chat + practice hints in sessionStorage (survives refresh, cleared when browser/tab session ends)
- featNative leave warnings when AI session has data: beforeunload (close/refresh), confirm on Back, confirm on in-app link navigation
- featPractice: “Understand this question” pre-answer hint — what the question asks, keywords, how to tackle; AWS docs via Knowledge MCP + study notes; no YouTube
- featAPI routes: /api/ai/chat (YouTube search links on chat only), /api/ai/explain, /api/ai/hint — shared provider routing (Groq / Anthropic / ILMU)
- featAWS Knowledge MCP: real docs.aws.amazon.com URLs resolved server-side from docsSearchPhrase (no hallucinated doc links)
- featILMU BYOK: api.ilmu.ai Anthropic-compatible messages API (nemo-super) alongside Claude sk-ant- keys
- featOllama Cloud BYOK: ollama.com/api/chat with Bearer API key (default model gpt-oss:120b) on /ai, practice hints, and explain routes
- chorewrangler.jsonc: GROQ_API_KEY and AI_GATEWAY_BASE_URL binding placeholders — secrets via .dev.vars locally or wrangler secret in production
- refactorlib/ai: providers, complete-json, aws-knowledge, client-headers; AWSDocsLink / QuestionHintPanel / PracticeQuestionHint components
- featPractice hints: bullet-point concise copy, amber keyword highlights, session cache per questionId (instant replay + Regenerate)
- featPractice hints: Deep Notes link to /learn#section (matched from awsServices index — e.g. EC2 User Data → Compute section)
Jun 3, 2026
2 wk agoGlossary page (/glossary): new standalone page — search + 14 category filters, 2-col responsive grid · About page: Glossary card added to link grid (Portfolio / GitHub / Changelog / Glossary) · Glossary: synced TS ↔ D1 — added 51 new terms from SQL (DR strategies, IAM policies, Lambda, Fargate, load balancers, S3 features, DynamoDB DAX/TTL) + generated glossary-batch3.sql (64 rows) for D1 update · Reserved Instances definition corrected: Standard RIs up to 72% off, Convertible RIs up to 66% — verified via AWS docs MCP · glossaryCategories: added IAM & Policies, Load Balancers, S3 Features categories; expanded Compute, Networking, Architecture with new terms · 404 page (/not-found.tsx): gradient 404, ambient glow blobs, quick-nav cards to all sections · Custom scrollbar: slim 6px global scrollbar replacing browser default — applied via globals.css · GlossaryTerm tooltip: switched to position:fixed to escape overflow:hidden table containers; atomic TooltipState prevents position race · Visual page ArchNode: removed left-side accent bar that the user flagged · Scenarios page: added new architecture patterns — expanded beyond S3+CloudFront to cover additional AWS solution flows; refined scenario details and metadata layout for better clarity
10
Jun 3, 2026
2 wk agoGlossary page (/glossary): new standalone page — search + 14 category filters, 2-col responsive grid · About page: Glossary card added to link grid (Portfolio / GitHub / Changelog / Glossary) · Glossary: synced TS ↔ D1 — added 51 new terms from SQL (DR strategies, IAM policies, Lambda, Fargate, load balancers, S3 features, DynamoDB DAX/TTL) + generated glossary-batch3.sql (64 rows) for D1 update · Reserved Instances definition corrected: Standard RIs up to 72% off, Convertible RIs up to 66% — verified via AWS docs MCP · glossaryCategories: added IAM & Policies, Load Balancers, S3 Features categories; expanded Compute, Networking, Architecture with new terms · 404 page (/not-found.tsx): gradient 404, ambient glow blobs, quick-nav cards to all sections · Custom scrollbar: slim 6px global scrollbar replacing browser default — applied via globals.css · GlossaryTerm tooltip: switched to position:fixed to escape overflow:hidden table containers; atomic TooltipState prevents position race · Visual page ArchNode: removed left-side accent bar that the user flagged · Scenarios page: added new architecture patterns — expanded beyond S3+CloudFront to cover additional AWS solution flows; refined scenario details and metadata layout for better clarity
- featGlossary page (/glossary): new standalone page — search + 14 category filters, 2-col responsive grid
- featAbout page: Glossary card added to link grid (Portfolio / GitHub / Changelog / Glossary)
- featGlossary: synced TS ↔ D1 — added 51 new terms from SQL (DR strategies, IAM policies, Lambda, Fargate, load balancers, S3 features, DynamoDB DAX/TTL) + generated glossary-batch3.sql (64 rows) for D1 update
- fixReserved Instances definition corrected: Standard RIs up to 72% off, Convertible RIs up to 66% — verified via AWS docs MCP
- featglossaryCategories: added IAM & Policies, Load Balancers, S3 Features categories; expanded Compute, Networking, Architecture with new terms
- feat404 page (/not-found.tsx): gradient 404, ambient glow blobs, quick-nav cards to all sections
- featCustom scrollbar: slim 6px global scrollbar replacing browser default — applied via globals.css
- fixGlossaryTerm tooltip: switched to position:fixed to escape overflow:hidden table containers; atomic TooltipState prevents position race
- fixVisual page ArchNode: removed left-side accent bar that the user flagged
- featScenarios page: added new architecture patterns — expanded beyond S3+CloudFront to cover additional AWS solution flows; refined scenario details and metadata layout for better clarity
Jun 3, 2026
2 wk agowzs4–wzs9 (API GW, Lambda, App Integration, Database, ML, Analytics): 35 questions seeded to remote D1 — all answers verified via AWS docs MCP · Screenshots for wzs4 (5), wzs5 (4), wzs6 (7), wzs7 (10), wzs8 (4), wzs9 (5) added to public/questions/ · Practice page: new "By Set" filter — All / Practice Tests / Section Tests / Final Test · API route: new ?set= filter param (pt / section / final) with SQLite LIKE conditions · Glossary: 35+ new terms — VPC Link, API throttling, API caching, Lambda authorizer, Usage Plan, SQS Long Polling, Visibility Timeout, SQS FIFO, Dead Letter Queue, SNS fan-out, Step Functions, RDS Multi-AZ, Aurora Serverless, DynamoDB PITR, DynamoDB Auto Scaling, AWS DMS, CloudFormation DeletionPolicy, Secrets Manager, Aurora Replicas, Comprehend, Lex, Textract, Kendra, Rekognition, Polly, MSK, OpenSearch, Data Exchange, Kinesis Data Streams, Glue · awsServices notes: SQS Long Polling + Visibility Timeout + FIFO + SNS→SQS→Lambda tips; MSK no-SSH + ESM + Serverless tips; new Kendra, Data Exchange cards; AI/ML card updated with Comprehend/Textract/Lex differentiators · Scenarios page (/scenarios): architecture pattern study page — flow diagram, anatomy breakdown, exam traps, tips, official docs links · First scenario: S3 + CloudFront static website hosting — OAC vs OAI, ACM us-east-1 requirement, signed URLs/cookies, geo restriction, caching, Lambda@Edge vs CF Functions — verified via AWS docs MCP · data/scenarios.ts: extensible scenario data schema (flow nodes, anatomy, nuances, tips, sources)
9
Jun 3, 2026
2 wk agowzs4–wzs9 (API GW, Lambda, App Integration, Database, ML, Analytics): 35 questions seeded to remote D1 — all answers verified via AWS docs MCP · Screenshots for wzs4 (5), wzs5 (4), wzs6 (7), wzs7 (10), wzs8 (4), wzs9 (5) added to public/questions/ · Practice page: new "By Set" filter — All / Practice Tests / Section Tests / Final Test · API route: new ?set= filter param (pt / section / final) with SQLite LIKE conditions · Glossary: 35+ new terms — VPC Link, API throttling, API caching, Lambda authorizer, Usage Plan, SQS Long Polling, Visibility Timeout, SQS FIFO, Dead Letter Queue, SNS fan-out, Step Functions, RDS Multi-AZ, Aurora Serverless, DynamoDB PITR, DynamoDB Auto Scaling, AWS DMS, CloudFormation DeletionPolicy, Secrets Manager, Aurora Replicas, Comprehend, Lex, Textract, Kendra, Rekognition, Polly, MSK, OpenSearch, Data Exchange, Kinesis Data Streams, Glue · awsServices notes: SQS Long Polling + Visibility Timeout + FIFO + SNS→SQS→Lambda tips; MSK no-SSH + ESM + Serverless tips; new Kendra, Data Exchange cards; AI/ML card updated with Comprehend/Textract/Lex differentiators · Scenarios page (/scenarios): architecture pattern study page — flow diagram, anatomy breakdown, exam traps, tips, official docs links · First scenario: S3 + CloudFront static website hosting — OAC vs OAI, ACM us-east-1 requirement, signed URLs/cookies, geo restriction, caching, Lambda@Edge vs CF Functions — verified via AWS docs MCP · data/scenarios.ts: extensible scenario data schema (flow nodes, anatomy, nuances, tips, sources)
- featwzs4–wzs9 (API GW, Lambda, App Integration, Database, ML, Analytics): 35 questions seeded to remote D1 — all answers verified via AWS docs MCP
- featScreenshots for wzs4 (5), wzs5 (4), wzs6 (7), wzs7 (10), wzs8 (4), wzs9 (5) added to public/questions/
- featPractice page: new "By Set" filter — All / Practice Tests / Section Tests / Final Test
- featAPI route: new ?set= filter param (pt / section / final) with SQLite LIKE conditions
- featGlossary: 35+ new terms — VPC Link, API throttling, API caching, Lambda authorizer, Usage Plan, SQS Long Polling, Visibility Timeout, SQS FIFO, Dead Letter Queue, SNS fan-out, Step Functions, RDS Multi-AZ, Aurora Serverless, DynamoDB PITR, DynamoDB Auto Scaling, AWS DMS, CloudFormation DeletionPolicy, Secrets Manager, Aurora Replicas, Comprehend, Lex, Textract, Kendra, Rekognition, Polly, MSK, OpenSearch, Data Exchange, Kinesis Data Streams, Glue
- featawsServices notes: SQS Long Polling + Visibility Timeout + FIFO + SNS→SQS→Lambda tips; MSK no-SSH + ESM + Serverless tips; new Kendra, Data Exchange cards; AI/ML card updated with Comprehend/Textract/Lex differentiators
- featScenarios page (/scenarios): architecture pattern study page — flow diagram, anatomy breakdown, exam traps, tips, official docs links
- featFirst scenario: S3 + CloudFront static website hosting — OAC vs OAI, ACM us-east-1 requirement, signed URLs/cookies, geo restriction, caching, Lambda@Edge vs CF Functions — verified via AWS docs MCP
- featdata/scenarios.ts: extensible scenario data schema (flow nodes, anatomy, nuances, tips, sources)
Jun 2, 2026
2 wk agowzs3 (EFS Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP · wzs2 (Storage Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP · wzs1 (VPC Section Test): 10 questions seeded to remote D1 — answers verified via AWS docs MCP · PT6 (wz6): 65 Core Practice Test 6 questions seeded to remote D1 — answers verified via AWS docs MCP · Screenshots for wz6 (65), wzs1 (10), wzs2 (5), wzs3 (5) added to public/questions/ · Glossary: 14 new terms — delete marker, noncurrent versions, secondary VPC CIDR, SNI, OAC, OAI, edge-to-edge routing, transitive peering, instance store, EBS-backed, Elastic Volumes, EBS snapshot, AWS Backup, EFS performance/throughput modes, EFS mount helper · awsServices notes: CloudFront OAC + Lambda@Edge, ALB SNI, API Gateway, AppFlow, SageMaker, VPC Peering edge-to-edge, EBS storage types, EFS performance/throughput modes + encryption in transit + cross-VPC tips, AWS Backup · Official AWS docs reference URLs added to all wzs1, wzs2, wzs3 questions
8
Jun 2, 2026
2 wk agowzs3 (EFS Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP · wzs2 (Storage Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP · wzs1 (VPC Section Test): 10 questions seeded to remote D1 — answers verified via AWS docs MCP · PT6 (wz6): 65 Core Practice Test 6 questions seeded to remote D1 — answers verified via AWS docs MCP · Screenshots for wz6 (65), wzs1 (10), wzs2 (5), wzs3 (5) added to public/questions/ · Glossary: 14 new terms — delete marker, noncurrent versions, secondary VPC CIDR, SNI, OAC, OAI, edge-to-edge routing, transitive peering, instance store, EBS-backed, Elastic Volumes, EBS snapshot, AWS Backup, EFS performance/throughput modes, EFS mount helper · awsServices notes: CloudFront OAC + Lambda@Edge, ALB SNI, API Gateway, AppFlow, SageMaker, VPC Peering edge-to-edge, EBS storage types, EFS performance/throughput modes + encryption in transit + cross-VPC tips, AWS Backup · Official AWS docs reference URLs added to all wzs1, wzs2, wzs3 questions
- featwzs3 (EFS Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP
- featwzs2 (Storage Section Test): 5 questions seeded to remote D1 — answers verified via AWS docs MCP
- featwzs1 (VPC Section Test): 10 questions seeded to remote D1 — answers verified via AWS docs MCP
- featPT6 (wz6): 65 Core Practice Test 6 questions seeded to remote D1 — answers verified via AWS docs MCP
- featScreenshots for wz6 (65), wzs1 (10), wzs2 (5), wzs3 (5) added to public/questions/
- featGlossary: 14 new terms — delete marker, noncurrent versions, secondary VPC CIDR, SNI, OAC, OAI, edge-to-edge routing, transitive peering, instance store, EBS-backed, Elastic Volumes, EBS snapshot, AWS Backup, EFS performance/throughput modes, EFS mount helper
- featawsServices notes: CloudFront OAC + Lambda@Edge, ALB SNI, API Gateway, AppFlow, SageMaker, VPC Peering edge-to-edge, EBS storage types, EFS performance/throughput modes + encryption in transit + cross-VPC tips, AWS Backup
- fixOfficial AWS docs reference URLs added to all wzs1, wzs2, wzs3 questions
May 28, 2026
2 wk agoPT4 (wz4): 65 Core Practice Test 4 questions seeded to remote D1 · PT5 (wz5): 65 Core Practice Test 5 questions seeded to remote D1 — answers verified via AWS docs MCP · Screenshots for wz4 and wz5 (130 images) added to public/questions/ · Glossary: 15 new terms — awsvpc, ENI, EBK, PBK, ABAC, NotPrincipal, CORS, Anycast, PoP, DRA, Standby state, cooldown period, InService, bridge, host · awsServices notes: CloudHSM backup (EBK/PBK), FSx Lustre DRA + S3 integration, QuickSight ML forecasting, Client VPN, Step Functions Distributed Map, X-Ray Insights, Glue Crawler, Polly StartSpeechSynthesisTask, Global Accelerator static IPs
5
May 28, 2026
2 wk agoPT4 (wz4): 65 Core Practice Test 4 questions seeded to remote D1 · PT5 (wz5): 65 Core Practice Test 5 questions seeded to remote D1 — answers verified via AWS docs MCP · Screenshots for wz4 and wz5 (130 images) added to public/questions/ · Glossary: 15 new terms — awsvpc, ENI, EBK, PBK, ABAC, NotPrincipal, CORS, Anycast, PoP, DRA, Standby state, cooldown period, InService, bridge, host · awsServices notes: CloudHSM backup (EBK/PBK), FSx Lustre DRA + S3 integration, QuickSight ML forecasting, Client VPN, Step Functions Distributed Map, X-Ray Insights, Glue Crawler, Polly StartSpeechSynthesisTask, Global Accelerator static IPs
- featPT4 (wz4): 65 Core Practice Test 4 questions seeded to remote D1
- featPT5 (wz5): 65 Core Practice Test 5 questions seeded to remote D1 — answers verified via AWS docs MCP
- featScreenshots for wz4 and wz5 (130 images) added to public/questions/
- featGlossary: 15 new terms — awsvpc, ENI, EBK, PBK, ABAC, NotPrincipal, CORS, Anycast, PoP, DRA, Standby state, cooldown period, InService, bridge, host
- featawsServices notes: CloudHSM backup (EBK/PBK), FSx Lustre DRA + S3 integration, QuickSight ML forecasting, Client VPN, Step Functions Distributed Map, X-Ray Insights, Glue Crawler, Polly StartSpeechSynthesisTask, Global Accelerator static IPs
May 27, 2026
3 wk agoChangelog page at /changelog — type filters, collapsible releases, relative dates · Timeline sidebar with scroll spy, progress rail, and jump-to-date · Desktop layout: scrollable changelog panel beside pinned timeline · Changelog link on About page and footer · changelog:draft script — draft new entries from git log · Changelog data and types moved to data/changelog.ts · Changelog entries use native details/summary for accessibility
7
May 27, 2026
3 wk agoChangelog page at /changelog — type filters, collapsible releases, relative dates · Timeline sidebar with scroll spy, progress rail, and jump-to-date · Desktop layout: scrollable changelog panel beside pinned timeline · Changelog link on About page and footer · changelog:draft script — draft new entries from git log · Changelog data and types moved to data/changelog.ts · Changelog entries use native details/summary for accessibility
- featChangelog page at /changelog — type filters, collapsible releases, relative dates
- featTimeline sidebar with scroll spy, progress rail, and jump-to-date
- featDesktop layout: scrollable changelog panel beside pinned timeline
- featChangelog link on About page and footer
- featchangelog:draft script — draft new entries from git log
- refactorChangelog data and types moved to data/changelog.ts
- refactorChangelog entries use native details/summary for accessibility
May 26, 2026
3 wk agoQuiz import script for Core practice questions · Extended .gitignore for generated files and workspace config
2
May 26, 2026
3 wk agoQuiz import script for Core practice questions · Extended .gitignore for generated files and workspace config
- featQuiz import script for Core practice questions
- choreExtended .gitignore for generated files and workspace config
May 25, 2026
3 wk agoScreenshot support for practice questions · AWS reference URL verification script · Seed script for screenshot metadata
3
May 25, 2026
3 wk agoScreenshot support for practice questions · AWS reference URL verification script · Seed script for screenshot metadata
- featScreenshot support for practice questions
- featAWS reference URL verification script
- featSeed script for screenshot metadata
May 21, 2026
3 wk agoQuestion filtering by source in API and practice page · Reset quiz state after fetching new questions · Glossary batch 2 — disaster recovery, compute, IAM terms · MCP server config for AWS documentation · Service tips and keywords added to awsServices · FilterSource: renamed 'custom' → 'others' for clarity
6
May 21, 2026
3 wk agoQuestion filtering by source in API and practice page · Reset quiz state after fetching new questions · Glossary batch 2 — disaster recovery, compute, IAM terms · MCP server config for AWS documentation · Service tips and keywords added to awsServices · FilterSource: renamed 'custom' → 'others' for clarity
- featQuestion filtering by source in API and practice page
- fixReset quiz state after fetching new questions
- featGlossary batch 2 — disaster recovery, compute, IAM terms
- choreMCP server config for AWS documentation
- featService tips and keywords added to awsServices
- refactorFilterSource: renamed 'custom' → 'others' for clarity
May 20, 2026
4 wk agoGlossary schema and initial seed data · Dependabot cooldown period (3 days) for update management · CI: added bun audit step for dependency security checks · Upgraded GitHub Actions to checkout@v5 · More AWS service tips and descriptions
5
May 20, 2026
4 wk agoGlossary schema and initial seed data · Dependabot cooldown period (3 days) for update management · CI: added bun audit step for dependency security checks · Upgraded GitHub Actions to checkout@v5 · More AWS service tips and descriptions
- featGlossary schema and initial seed data
- choreDependabot cooldown period (3 days) for update management
- choreCI: added bun audit step for dependency security checks
- choreUpgraded GitHub Actions to checkout@v5
- featMore AWS service tips and descriptions
May 19, 2026
4 wk agoAbout page with GitHub and portfolio links · OG image previews for Meta platforms (IG, Threads, WhatsApp) · Canonical URL set to aws.amrhnshh.com · Switched to static OG/Twitter PNG images · Renamed project to aws-saa-study · Cloudflare Pages integration and deployment config · Layout and spacing improvements across all pages
7
May 19, 2026
4 wk agoAbout page with GitHub and portfolio links · OG image previews for Meta platforms (IG, Threads, WhatsApp) · Canonical URL set to aws.amrhnshh.com · Switched to static OG/Twitter PNG images · Renamed project to aws-saa-study · Cloudflare Pages integration and deployment config · Layout and spacing improvements across all pages
- featAbout page with GitHub and portfolio links
- fixOG image previews for Meta platforms (IG, Threads, WhatsApp)
- fixCanonical URL set to aws.amrhnshh.com
- choreSwitched to static OG/Twitter PNG images
- refactorRenamed project to aws-saa-study
- featCloudflare Pages integration and deployment config
- refactorLayout and spacing improvements across all pages
May 18, 2026
May 18, 2026Bookmark feature — save and persist AWS service cards
1
May 18, 2026
May 18, 2026Bookmark feature — save and persist AWS service cards
- featBookmark feature — save and persist AWS service cards
May 17, 2026
May 17, 2026SiteFooter component added across all pages · Extra common networking patterns section
2
May 17, 2026
May 17, 2026SiteFooter component added across all pages · Extra common networking patterns section
- featSiteFooter component added across all pages
- featExtra common networking patterns section
May 11, 2026
May 11, 2026VPC page: RFC 1918 private ranges, prefix-bit breakdown, network/host division · Glossary: octet tooltip wired into GlossaryText component · Removed 2 duplicate practice questions · ESLint 10 compat — pinned react version in config · Regenerated bun.lock to fix CI frozen-lockfile failure
5
May 11, 2026
May 11, 2026VPC page: RFC 1918 private ranges, prefix-bit breakdown, network/host division · Glossary: octet tooltip wired into GlossaryText component · Removed 2 duplicate practice questions · ESLint 10 compat — pinned react version in config · Regenerated bun.lock to fix CI frozen-lockfile failure
- featVPC page: RFC 1918 private ranges, prefix-bit breakdown, network/host division
- featGlossary: octet tooltip wired into GlossaryText component
- fixRemoved 2 duplicate practice questions
- fixESLint 10 compat — pinned react version in config
- choreRegenerated bun.lock to fix CI frozen-lockfile failure