Skip to content

Project: [Reasoning Agents] - [Kaizen AI] 🧠 Reasoning Agents #37

@JonEricEubanks

Description

@JonEricEubanks

Track

Reasoning Agents (Azure AI Foundry)

Project Name

Kaizen AI

GitHub Username

@JonEricEubanks

Repository URL

https://github.com/JonEricEubanks/kaizen-ai

Project Description

πŸŽ“ Kaizen AI β€” Microsoft Certification Study Coach

Kaizen AI is an AI-powered certification study coach that helps learners prepare for any Microsoft certification exam. It features Donna AI, a context-aware conversational study companion powered by Azure OpenAI, and a 6-agent multi-agent reasoning pipeline that generates personalized study plans, learning paths, and exam content.


πŸ” Problem

Certification prep is fragmented. Learners juggle disconnected resources with no personalized guidance or progress tracking. There's no single tool that adapts to weak areas and keeps learners motivated.


✨ Key Features

Feature Description
πŸ€– 6-Agent Reasoning Pipeline Learning Path Curator β†’ Study Plan Generator β†’ Engagement Agent β†’ Code Interpreter β†’ Critic/Verifier β†’ Readiness Assessor, with self-reflection loop (up to 3 iterations) and parallel fan-out
πŸ™‹ Human-in-the-Loop React UI confirmation dialog before executing AI-generated plans
πŸ”Ž MCP Exam Discovery Fetches real exam details from Microsoft Learn via Streamable HTTP transport
πŸ“¦ Full Exam Content Generation One-click pipeline creating exam records, modules, lessons, quiz questions, and reference cards in Dataverse
πŸ† Gamification XP, leveling, 25+ achievements, daily challenges, streaks, and leaderboards
πŸ“ Practice & Flashcards AI question generation, flashcards, listen mode, and interactive lessons
πŸ“‘ Observability OpenTelemetry tracing, Azure Content Safety guardrails, Azure AI Evaluation scoring
πŸ”’ Security Hardened API key auth, CORS allow-list, sanitized errors, SVG XSS prevention

πŸ› οΈ Tech Stack

Azure OpenAI Dataverse React MCP OpenTelemetry Azure Content Safety Azure AI Evaluation


πŸ”— Repository

https://github.com/JonEricEubanks/kaizen-ai

Demo Video or Screenshots

🎬 Watch Demo on YouTube
πŸ“Έ View Screenshots

Primary Programming Language

Python

Key Technologies Used

Layer Technology
πŸ€– AI Models Azure OpenAI (GPT-4.1-mini, GPT 5, DALL-E 3)
🧠 Agent Framework Microsoft Agent Framework (agent-framework-core, agent-framework-azure-ai)
πŸ–₯️ Frontend React 19 + TypeScript + Vite + Tailwind CSS
βš™οΈ Backend Azure Functions (Python 3.11)
πŸ—„οΈ Data Microsoft Dataverse (13 tables) via Power Apps Code Apps
πŸ”Œ MCP MCP SDK β€” Streamable HTTP transport to Microsoft Learn
πŸ“‘ Observability OpenTelemetry (distributed tracing)
πŸ›‘οΈ Safety Azure Content Safety (input/output guardrails)
πŸ“Š Evaluation Azure AI Evaluation (automated agent quality scoring)

Submission Type

Individual

Team Members

n/a

Submission Requirements

  • My project meets the track-specific challenge requirements
  • My repository includes a comprehensive README.md with setup instructions
  • My code does not contain hardcoded API keys or secrets
  • I have included demo materials (video or screenshots)
  • My project is my own work with proper attribution for any third-party code
  • I agree to the Code of Conduct
  • I have read and agree to the Disclaimer
  • My submission does NOT contain any confidential, proprietary, or sensitive information
  • I confirm I have the rights to submit this content and grant the necessary licenses

Quick Setup Summary

  1. πŸ“₯ Clone the repo β€” git clone https://github.com/JonEricEubanks/kaizen-ai.git
  2. πŸ–₯️ Install frontend β€” npm install
  3. βš™οΈ Install backend β€” cd ai-coach && pip install -r requirements.txt
  4. πŸ”§ Configure frontend β€” copy .env.example β†’ .env, set VITE_AI_COACH_API_KEY
  5. πŸ”§ Configure backend β€” copy local.settings.json.example β†’ local.settings.json, set AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_KEY, AZURE_OPENAI_DEPLOYMENT, AI_COACH_API_KEY
  6. πŸ—„οΈ Set up Dataverse β€” import tables and sample data (see README)
  7. πŸš€ Run β€”
   # Frontend
   npm run dev

   # Backend
   cd ai-coach && func host start

Technical Highlights

Highlight Detail
πŸ”„ Self-reflection convergence loop The Critic/Verifier agent rejects low-quality outputs and loops back to the Study Plan Generator β€” up to 3 iterations until quality passes
⚑ Parallel fan-out Engagement + Code Interpreter agents run concurrently via asyncio.gather, saving ~5–10s per workflow
πŸ”Ž MCP exam discovery Streamable HTTP transport fetches any Microsoft certification from Microsoft Learn in real time, then generates full exam content (modules, lessons, questions, references) into Dataverse with one click
πŸ“‘ OpenTelemetry tracing Distributed tracing across all 6 agents with graceful fallback β€” every agent span is instrumented for observability
πŸ™‹ Human-in-the-Loop UI React confirmation dialog surfaces before AI-generated study plans execute, giving the student full control
πŸ† Gamification engine XP streak multipliers, 25+ achievements, streak shields, daily challenges, and 20 levels β€” all persisted to Dataverse

Challenges & Learnings

Challenge What We Learned
πŸ› Dataverse OData quirks Lookup fields (@odata.bind) don't work with Power SDK's createRecordAsync. Discovered through 9 production bugs that Dataverse's OData layer behaves differently from standard OData β€” solved by using direct string ID fields instead of lookup bindings
🎯 Agent quality control Early agent outputs were inconsistent. Adding the Critic/Verifier agent with a convergence loop (retry up to 3x) dramatically improved output quality
πŸ›‘οΈ Graceful degradation Made OpenTelemetry, Content Safety, and AI Evaluation all optional with no-op fallbacks β€” the app runs locally without every Azure service configured

Contact Information

https://www.linkedin.com/in/joneric-eubanks-pmp-developer/

Country/Region

United States

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions