<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marco Dodaro</title>
    <description>The latest articles on DEV Community by Marco Dodaro (@raythekool).</description>
    <link>https://dev.to/raythekool</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2820032%2Fe005b9ac-ce59-4d0e-a6a5-1c88ad90e83e.jpeg</url>
      <title>DEV Community: Marco Dodaro</title>
      <link>https://dev.to/raythekool</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raythekool"/>
    <language>en</language>
    <item>
      <title>From Zero to AWTRIX App in 30 Minutes: Vibe Coding with Home Assistant, Yahoo Finance and a LED Matrix</title>
      <dc:creator>Marco Dodaro</dc:creator>
      <pubDate>Thu, 05 Feb 2026 16:48:37 +0000</pubDate>
      <link>https://dev.to/raythekool/from-zero-to-awtrix-app-in-30-minutes-vibe-coding-with-home-assistant-yahoo-finance-and-a-led-2nkn</link>
      <guid>https://dev.to/raythekool/from-zero-to-awtrix-app-in-30-minutes-vibe-coding-with-home-assistant-yahoo-finance-and-a-led-2nkn</guid>
      <description>&lt;p&gt;💡 There's something very satisfying about seeing your code literally light up on an LED matrix in your living room. ✨&lt;/p&gt;

&lt;p&gt;This little project started as a "what if" and turned into a working &lt;a href="https://blueforcer.github.io/awtrix3/" rel="noopener noreferrer"&gt;AWTRIX 3&lt;/a&gt; app in about 30 minutes, built live with AI as a coding buddy ("vibe coding" style). &lt;br&gt;
&lt;strong&gt;The goal: show live Yahoo Finance stock data on an AWTRIX 3, with colors and icons that react to the market in real time, all driven by Home Assistant blueprints.&lt;/strong&gt; 📈&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What we built
&lt;/h2&gt;

&lt;p&gt;In half an hour, the setup ended up as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;strong&gt;Home Assistant blueprint&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reads stock data from the Yahoo Finance integration
&lt;/li&gt;
&lt;li&gt;Formats text like &lt;code&gt;AAPL 190.25€ (+1.32%)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Picks an icon and color based on percentage change
&lt;/li&gt;
&lt;li&gt;Pushes everything to AWTRIX 3 via MQTT as a custom app&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;A small ecosystem around it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub repo: &lt;code&gt;ha-awtrix-yahoofinance-stock&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Blueprint YAML
&lt;/li&gt;
&lt;li&gt;README with one‑click import for Home Assistant
&lt;/li&gt;
&lt;li&gt;MIT license&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Check out the repo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yahoo Finance stock app:
👉 &lt;a href="https://github.com/Raythekool/ha-awtrix-yahoofinance-stock" rel="noopener noreferrer"&gt;https://github.com/Raythekool/ha-awtrix-yahoofinance-stock&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qjudo87ha9ntscsjplz.gif" alt=" " width="760" height="187"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🧱 The stack
&lt;/h2&gt;

&lt;p&gt;The tech is intentionally simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Home Assistant&lt;/strong&gt; blueprints (no custom component needed)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yahoo Finance&lt;/strong&gt; integration for live stock data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MQTT&lt;/strong&gt; to talk to AWTRIX 3&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://blueforcer.github.io/awtrix3/" rel="noopener noreferrer"&gt;AWTRIX 3&lt;/a&gt;&lt;/strong&gt; as the LED matrix display (compatible with devices like &lt;a href="https://www.ulanzi.com/products/ulanzi-pixel-smart-clock-2882" rel="noopener noreferrer"&gt;Ulanzi TC001&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core logic is basically:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read &lt;code&gt;sensor.yahoofinance_*&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Grab &lt;code&gt;regularMarketChangePercent&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Decide:

&lt;ul&gt;
&lt;li&gt;If change &amp;gt; threshold → green + "up" icon 📈
&lt;/li&gt;
&lt;li&gt;If change &amp;lt; −threshold → red + "down" icon 📉
&lt;/li&gt;
&lt;li&gt;Else → white + neutral icon ⚪&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Publish a JSON payload to &lt;code&gt;awtrix_device/custom/stock_app_name&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But instead of hand‑crafting everything from scratch, the AI handled:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turning an ad‑hoc &lt;strong&gt;script&lt;/strong&gt; into a clean, reusable &lt;strong&gt;blueprint&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Adding options for:

&lt;ul&gt;
&lt;li&gt;Threshold&lt;/li&gt;
&lt;li&gt;Lifetime&lt;/li&gt;
&lt;li&gt;Repeat count&lt;/li&gt;
&lt;li&gt;Scroll speed&lt;/li&gt;
&lt;li&gt;Currency symbol&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Generating a full README and import badge for Home Assistant&lt;/li&gt;

&lt;li&gt;Creating a new GitHub repo and wiring the files correctly&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎧 Vibe coding: pairing with AI instead of building alone
&lt;/h2&gt;

&lt;p&gt;The interesting part wasn't the complexity (there isn't much), but the workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start from a tiny working script:

&lt;ul&gt;
&lt;li&gt;"Here's my stock display script for AWTRIX."&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Ask the AI to:

&lt;ul&gt;
&lt;li&gt;Turn it into a blueprint
&lt;/li&gt;
&lt;li&gt;Make it configurable
&lt;/li&gt;
&lt;li&gt;Generalize it to multiple devices
&lt;/li&gt;
&lt;li&gt;Add icon‑upload automation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Let the AI:

&lt;ul&gt;
&lt;li&gt;Generate the YAML
&lt;/li&gt;
&lt;li&gt;Wire topics for multiple AWTRIX devices
&lt;/li&gt;
&lt;li&gt;Add sensible defaults
&lt;/li&gt;
&lt;li&gt;Produce proper documentation in English&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That back‑and‑forth is what made it feel like &lt;strong&gt;vibe coding&lt;/strong&gt;: you keep the vision and constraints, the AI does the boilerplate, refactors, and docs while you stay in flow. 🧠🤝💻&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 How to try it yourself
&lt;/h2&gt;

&lt;p&gt;Rough steps (see the repo for details):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install &lt;strong&gt;&lt;a href="https://blueforcer.github.io/awtrix3/" rel="noopener noreferrer"&gt;AWTRIX 3&lt;/a&gt;&lt;/strong&gt; on your device and connect it to &lt;strong&gt;MQTT&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Install the &lt;strong&gt;Yahoo Finance integration&lt;/strong&gt; in Home Assistant.&lt;/li&gt;
&lt;li&gt;Import the blueprint via the &lt;em&gt;My Home Assistant&lt;/em&gt; button in the README:
&lt;code&gt;awtrix_stock_display.yaml&lt;/code&gt; from
&lt;a href="https://github.com/Raythekool/ha-awtrix-yahoofinance-stock" rel="noopener noreferrer"&gt;https://github.com/Raythekool/ha-awtrix-yahoofinance-stock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create an automation from the blueprint:

&lt;ul&gt;
&lt;li&gt;Pick your stock sensor (e.g. &lt;code&gt;sensor.yahoofinance_aapl&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Choose an app name (e.g. &lt;code&gt;stock_aapl&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Tweak threshold, repeat, scroll speed, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Watch your AWTRIX display live stock data with reactive colors and icons. 🌈&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  💭 Why this matters
&lt;/h2&gt;

&lt;p&gt;This wasn't about reinventing finance dashboards. It was about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turning a "small quality‑of‑life idea" into a polished integration quickly&lt;/li&gt;
&lt;li&gt;Using AI as a &lt;strong&gt;companion&lt;/strong&gt; to:

&lt;ul&gt;
&lt;li&gt;Avoid YAML fatigue
&lt;/li&gt;
&lt;li&gt;Keep things DRY and reusable
&lt;/li&gt;
&lt;li&gt;Ship with proper docs and structure from day one&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Making Home Assistant + AWTRIX 3 feel more like a &lt;strong&gt;creative canvas&lt;/strong&gt; than a config chore 🎨&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;If you've been sitting on a tiny Home Assistant idea that "isn't worth the time", pairing with an AI and aiming for a 30‑minute build is surprisingly effective. Start from a script, extract the pattern into a blueprint, wrap it in a repo—and suddenly you have something you can share with the rest of the community. ✨&lt;/p&gt;




&lt;h2&gt;
  
  
  📝 TL;DR
&lt;/h2&gt;

&lt;p&gt;Built a complete Home Assistant blueprint for displaying Yahoo Finance stocks on AWTRIX 3 LED matrix in ~30 minutes using AI-assisted "vibe coding". The blueprint reads stock data, formats it with dynamic colors (green/red/white) and icons based on market changes, and pushes to AWTRIX via MQTT. Fully configurable (threshold, currency, scroll speed) with one-click import for Home Assistant. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/Raythekool/ha-awtrix-yahoofinance-stock" rel="noopener noreferrer"&gt;https://github.com/Raythekool/ha-awtrix-yahoofinance-stock&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; Small home automation ideas become shippable projects incredibly fast when you pair with AI for the boilerplate, YAML, and documentation work. 🚀&lt;/p&gt;

</description>
      <category>automation</category>
      <category>showdev</category>
      <category>vibecoding</category>
      <category>homeassistant</category>
    </item>
    <item>
      <title>Building a Smart Case Categorization System in Dynamics 365 with AI-Driven Development</title>
      <dc:creator>Marco Dodaro</dc:creator>
      <pubDate>Thu, 11 Dec 2025 10:27:29 +0000</pubDate>
      <link>https://dev.to/raythekool/building-a-smart-case-categorization-system-in-dynamics-365-with-ai-driven-development-3mo3</link>
      <guid>https://dev.to/raythekool/building-a-smart-case-categorization-system-in-dynamics-365-with-ai-driven-development-3mo3</guid>
      <description>&lt;h4&gt;
  
  
  How a development team leveraged AI-driven prompts, structured documentation, and automated testing to build an enterprise-grade hierarchical case management system through continuous test-and-fix automation
&lt;/h4&gt;

&lt;h2&gt;
  
  
  💼 Introduction
&lt;/h2&gt;

&lt;p&gt;Picture this: you're asked to build a D365 Customer Service demo with an &lt;strong&gt;intelligent case management solution&lt;/strong&gt; that needs to handle complex hierarchical categorization across multiple business units, maintain enterprise-grade performance, and deliver a stellar user experience. Oh, and you have the usual impossibly tight deadlines. Sound familiar?&lt;/p&gt;

&lt;p&gt;Instead of diving into traditional development hell, our team decided to experiment with something pretty wild - a &lt;strong&gt;sophisticated case categorization system&lt;/strong&gt; built using AI-assisted development patterns that completely flipped our usual approach on its head.&lt;/p&gt;

&lt;p&gt;The magic happens with &lt;strong&gt;hierarchical dropdown filtering&lt;/strong&gt; plus AI-powered auto-suggestions, but here's the kicker - everything was built using &lt;strong&gt;"vibe coding."&lt;/strong&gt; Yep, we're talking about using natural language prompts and well-structured instruction docs to let AI handle the heavy lifting of complex technical implementations.&lt;/p&gt;

&lt;p&gt;The result? We delivered rock-solid enterprise functionality through &lt;strong&gt;continuous automated test-and-fix cycles&lt;/strong&gt; that kept production quality high while cutting development time by 70%. Not too shabby!&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 The Business Challenge
&lt;/h2&gt;

&lt;p&gt;Let's be honest - enterprise case management is a beast. Organizations need smart case routing that can juggle complex hierarchical categorization across different business units while keeping data quality pristine and users happy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Hierarchical filtering&lt;/strong&gt; - Business Unit → Service Category → Issue Type cascading&lt;br&gt;
• &lt;strong&gt;Data quality assurance&lt;/strong&gt; - Validation across 300+ possible combinations&lt;br&gt;
• &lt;strong&gt;Scalable architecture&lt;/strong&gt; - Support for complex organizational structures&lt;br&gt;
• &lt;strong&gt;User experience&lt;/strong&gt; - Intuitive interface with sub-second response times&lt;/p&gt;
&lt;h2&gt;
  
  
  🤖 AI-Driven Development Approach
&lt;/h2&gt;

&lt;p&gt;Here's where things get interesting. The team's game-changing approach revolved around &lt;strong&gt;"vibe coding"&lt;/strong&gt; - essentially having conversations with AI using well-crafted instruction frameworks and natural language prompts to tackle complex technical implementations.&lt;/p&gt;

&lt;p&gt;Instead of the usual coding grind, we built &lt;strong&gt;detailed instruction docs&lt;/strong&gt; that work like architectural blueprints and AI cheat sheets rolled into one. These specialized &lt;strong&gt;instruction frameworks&lt;/strong&gt; (basically markdown files) cover everything from data model patterns to JavaScript integration strategies - giving AI a really good playbook for &lt;strong&gt;prompt-driven development&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The result? &lt;strong&gt;Lightning-fast iteration cycles&lt;/strong&gt; with enterprise-grade quality that transforms technical documentation from boring static reference material into dynamic development superpowers.&lt;/p&gt;
&lt;h2&gt;
  
  
  📋 Architecture Through Documentation
&lt;/h2&gt;

&lt;p&gt;Here's the cool part - the architecture uses &lt;strong&gt;three-tier hierarchical filtering&lt;/strong&gt;, all designed through documentation frameworks that work for both humans and AI. Pretty clever, right?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15p48gvevao78zwav5ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15p48gvevao78zwav5ah.png" alt=" " width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The system architecture breaks down like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Layer:&lt;/strong&gt; Global option sets with 300+ hierarchical combinations (yeah, it's a lot!) managed through structured schemas&lt;br&gt;
&lt;strong&gt;Business Logic:&lt;/strong&gt; JavaScript frameworks that handle all the cascade logic and AI-powered auto-population magic&lt;br&gt;
&lt;strong&gt;User Interface:&lt;/strong&gt; Responsive forms with smart field enablement and validation that actually makes sense&lt;br&gt;
&lt;strong&gt;Testing Infrastructure:&lt;/strong&gt; Automated validation with continuous improvement cycles (because who has time for manual testing?)&lt;br&gt;
&lt;strong&gt;Documentation System:&lt;/strong&gt; Living instruction frameworks that evolve with your requirements - they're never static!&lt;/p&gt;
&lt;h2&gt;
  
  
  ⚙️ Development Workflow
&lt;/h2&gt;

&lt;p&gt;Okay, this is where the magic really happens. The development process completely flipped traditional enterprise software development on its head through &lt;strong&gt;AI-assisted requirement analysis and implementation&lt;/strong&gt; - basically creating a smooth highway from business needs to working solutions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1: Requirements Analysis and Data Model Design&lt;/strong&gt;&lt;br&gt;
The team kicked things off by having a conversation with AI about the business requirements - no fancy documentation needed, just natural language descriptions. The AI dug into the hierarchical case categorization needs and churned out comprehensive YAML specifications that included:&lt;br&gt;
• Entity structures with proper relationships and cascading hierarchies&lt;br&gt;
• Field definitions with appropriate data types and validation rules&lt;br&gt;
• Option set configurations for the three-tier filtering system&lt;br&gt;
• Implementation ready to introduce patterns for AI-powered auto-suggestion capabilities&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 2: Dataverse Implementation with PACX and AppMaker&lt;/strong&gt;&lt;br&gt;
With the AI-generated specs in hand, the team got to work implementing the data model in Dataverse - and here's where the tools really shine:&lt;br&gt;
• &lt;strong&gt;PACX CLI Extended&lt;/strong&gt; handled all the heavy lifting - creating tables, columns, and relationships straight from the YAML specs, all managed by AI Agent through documented command patterns&lt;br&gt;
• &lt;strong&gt;AppMaker MCP Server&lt;/strong&gt; worked its magic by auto-generating enterprise-grade forms and views with proper field layouts and responsive designs&lt;br&gt;
• Set up those global option sets with 300+ hierarchical combinations for the cascading dropdown system (trust me, you don't want to do this manually)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 3: AI-Generated Business Logic&lt;/strong&gt;&lt;br&gt;
Now for the fun part - with the data structure ready, the developers simply asked AI to generate the JavaScript business logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# AI-guided schema creation following instruction patterns&lt;/span&gt;
Create hierarchical option sets with:
- Level 1: Business units &lt;span class="o"&gt;(&lt;/span&gt;9 options, numeric values 100000000-100000008&lt;span class="o"&gt;)&lt;/span&gt;
- Level 2: Service categories &lt;span class="o"&gt;(&lt;/span&gt;40+ options mapped to L1&lt;span class="o"&gt;)&lt;/span&gt;
- Level 3: Issue types &lt;span class="o"&gt;(&lt;/span&gt;200+ options mapped to L2&lt;span class="o"&gt;)&lt;/span&gt;
Follow naming convention: ava_fieldnamecode pattern
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;• Built form configurations through prompt-driven development (basically just describing what you want in plain English), resulting in something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// AI-generated cascade logic following instruction frameworks&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;onBusinessUnitChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;executionContext&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;formContext&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;executionContext&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getFormContext&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;selectedUnit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;formContext&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ava_level1code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;getValue&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="c1"&gt;// Clear and repopulate dependent dropdowns&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;categoryControl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;formContext&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getControl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ava_level2code&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nf"&gt;filterOptions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;categoryControl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;selectedUnit&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Phase 4: Comprehensive Testing and Continuous Improvement&lt;/strong&gt;&lt;br&gt;
Time for the real test - literally. We brought in &lt;strong&gt;Playwright&lt;/strong&gt; to create comprehensive test suites that put the entire system through its paces:&lt;br&gt;
• Automated testing of all 300+ hierarchical combinations and cascade behaviors (because manually testing that would take forever)&lt;br&gt;
• AI suggestion functionality testing across various business scenarios&lt;br&gt;
• &lt;strong&gt;Test-Fix-Test Cycles&lt;/strong&gt;: Here's the game-changer - when Playwright found issues, the AI agent acted autonomously to analyze problems, generate fixes, implement solutions, and re-test automatically. No more late nights debugging!&lt;/p&gt;

&lt;p&gt;This iterative workflow let the team deliver rock-solid enterprise functionality with a &lt;strong&gt;strong reduction in development time&lt;/strong&gt; while keeping quality standards sky-high through continuous automated validation. Without AI, we'd probably still be debugging the first dropdown!&lt;/p&gt;
&lt;h2&gt;
  
  
  🧪 Automated Testing Through AI
&lt;/h2&gt;

&lt;p&gt;Here's where things get really cool. The &lt;strong&gt;Playwright-based testing strategy&lt;/strong&gt; completely transformed quality assurance by using intelligent automation that spots issues and kicks off immediate resolution cycles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test-Fix-Deploy Automation:&lt;/strong&gt;&lt;br&gt;
The real breakthrough was those &lt;strong&gt;continuous test-and-fix cycles&lt;/strong&gt;. Picture this: when automated testing finds issues, the system jumps into action:&lt;br&gt;
• &lt;strong&gt;Analyzes problems&lt;/strong&gt; using instruction frameworks for context (like having an AI debugging buddy)&lt;br&gt;
• &lt;strong&gt;Generates fixes&lt;/strong&gt; through AI-driven code analysis and correction&lt;br&gt;
• &lt;strong&gt;Implements solutions&lt;/strong&gt; following established patterns and quality standards&lt;br&gt;
• &lt;strong&gt;Validates results&lt;/strong&gt; through comprehensive re-testing of affected functionality&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-Time Browser Testing:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// AI-generated test scenarios following instruction patterns&lt;/span&gt;
&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hierarchy cascade functionality&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;selectOption&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;[data-id="level1"]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;100000000&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Verify L2 population with AI-validated assertions&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;l2Options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;locator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;[data-id="level2"] option&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;l2Options&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toBeGreaterThan&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Test AI suggestion trigger&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;[data-id="ai_suggestion"]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;locator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.notification&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;toContainText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;categorized&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Performance Results:&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;Issue resolution:&lt;/strong&gt; Minutes instead of hours through automated fix cycles&lt;br&gt;
• &lt;strong&gt;Test coverage:&lt;/strong&gt; 10+ business scenarios with automated validation&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Tools and Technologies
&lt;/h2&gt;

&lt;p&gt;Let's talk about the tools that made this magic happen. The implementation used a killer combination of specialized tools that made AI-driven development actually work:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Development Tools:&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;&lt;a href="https://github.com/neronotte/Greg.Xrm.Command" rel="noopener noreferrer"&gt;PACX CLI Extended&lt;/a&gt;&lt;/strong&gt; - Your Swiss Army knife for Dataverse operations, table creation, and relationship management that became our foundation for lightning-fast schema creation and deployment through documented command patterns&lt;br&gt;
• &lt;strong&gt;&lt;a href="https://github.com/neronotte/Greg.Xrm.Mcp" rel="noopener noreferrer"&gt;AppMaker MCP Server&lt;/a&gt;&lt;/strong&gt; - The secret sauce for automated form and view generation in Dynamics 365 that powered AI-driven form design and validation while keeping everything enterprise-ready&lt;br&gt;
• &lt;strong&gt;&lt;a href="https://playwright.dev/" rel="noopener noreferrer"&gt;Playwright&lt;/a&gt;&lt;/strong&gt; - End-to-end testing framework that handles automated browser testing and validation like a champ, managing comprehensive test automation with smart failure detection and resolution cycles&lt;/p&gt;

&lt;p&gt;These tools became the backbone of our AI-assisted development workflow, creating seamless integration between natural language prompts and technical implementation while keeping enterprise-grade quality standards intact.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI-driven D365 development&lt;/strong&gt; with instruction frameworks + automated test-fix cycles = &lt;strong&gt;faster delivery&lt;/strong&gt; of enterprise-grade hierarchical case management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Stack:&lt;/strong&gt; PACX CLI + AppMaker MCP + Playwright + structured prompts → Complex 300+ option cascading dropdowns with AI auto-categorization&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Win:&lt;/strong&gt; Natural language prompts → Production-ready JavaScript business logic → Automated quality assurance cycles&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bottom Line:&lt;/strong&gt; Prompt-driven development patterns enable enterprise scalability while maintaining code quality through continuous automated validation.&lt;/p&gt;




&lt;h3&gt;
  
  
  Ready to dive into AI-assisted development? Start building those instruction frameworks and see how natural language can become your secret development superpower! 🚀
&lt;/h3&gt;

&lt;p&gt;Have you tried AI-driven development in your projects? We'd love to hear about your wins, fails, and "wait, that actually worked?" moments in the comments below!&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>ai</category>
      <category>playwright</category>
      <category>powerplatform</category>
    </item>
  </channel>
</rss>
