<?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: Leonhard Satria Suharjo</title>
    <description>The latest articles on DEV Community by Leonhard Satria Suharjo (@leonhardsuharjo).</description>
    <link>https://dev.to/leonhardsuharjo</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%2F3644499%2F64befab8-8c30-4951-97c5-e0c1508e2b40.jpeg</url>
      <title>DEV Community: Leonhard Satria Suharjo</title>
      <link>https://dev.to/leonhardsuharjo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leonhardsuharjo"/>
    <language>en</language>
    <item>
      <title>Why Your Laptop Lags at Times — Context Switching</title>
      <dc:creator>Leonhard Satria Suharjo</dc:creator>
      <pubDate>Wed, 31 Dec 2025 00:47:50 +0000</pubDate>
      <link>https://dev.to/leonhardsuharjo/why-your-laptop-lags-at-times-context-switching-2h3n</link>
      <guid>https://dev.to/leonhardsuharjo/why-your-laptop-lags-at-times-context-switching-2h3n</guid>
      <description>&lt;p&gt;&lt;em&gt;An Operating Systems Concept&lt;/em&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;~ One last article to close 2025 :)&lt;/p&gt;
&lt;/blockquote&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%2F4s7tqtqb76kensuz8eu8.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%2F4s7tqtqb76kensuz8eu8.png" alt="*Ubuntu’s system monitor" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recently, I’ve been learning a new subject at my uni (University of Messina), operating systems. As I dive deeper into the subject, I noticed that there are lots of OS concepts that I have been implementing in my very own laptop. While the subject is fresh in my mind, I’ll be sharing a topic I found interesting, called the context switching.&lt;/p&gt;




&lt;p&gt;Read the full article here: &lt;a href="https://medium.com/@leonhard.suharjo/why-your-laptop-lags-at-times-context-switching-b572bdb0a83e" rel="noopener noreferrer"&gt;https://medium.com/@leonhard.suharjo/why-your-laptop-lags-at-times-context-switching-b572bdb0a83e&lt;/a&gt;&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>microsoft</category>
      <category>discuss</category>
      <category>learning</category>
    </item>
    <item>
      <title>CANDI - Cloud Defense Intelligence Platform</title>
      <dc:creator>Leonhard Satria Suharjo</dc:creator>
      <pubDate>Mon, 08 Dec 2025 15:51:31 +0000</pubDate>
      <link>https://dev.to/leonhardsuharjo/candi-cloud-defence-intelligence-platform-ei4</link>
      <guid>https://dev.to/leonhardsuharjo/candi-cloud-defence-intelligence-platform-ei4</guid>
      <description>&lt;h2&gt;
  
  
  AI-powered military logistics and security command center built with Google Cloud &amp;amp; Gemini 3.
&lt;/h2&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%2Fsj30t5i49fbb0nuaxini.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%2Fsj30t5i49fbb0nuaxini.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Military logistics represents one of the world's most complex supply chain systems. The U.S. Department of Defense alone loses $10+ billion annually to supply chain inefficiencies. This app demonstrates how Google Cloud's advanced capabilities can transform this critical sector.&lt;/p&gt;

&lt;p&gt;Cloud Defense Analytics showcases three key insights from my Google Cloud Digital Leader certification journey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DIGITAL TRANSFORMATION: We consolidated siloed legacy systems into a unified cloud data warehouse, reducing waste from 40% to 15% through real-time visibility and automated insights.&lt;/li&gt;
&lt;li&gt;PREDICTIVE AI: Using Gemini 3's multimodal reasoning, the app analyzes
logistics documents and photos to predict supply chain failures before they impact operations—mimicking how Google Cloud's Vertex AI helps organizations make data-driven decisions at scale.&lt;/li&gt;
&lt;li&gt;ZERO TRUST SECURITY: Implementing strict IAM controls and encryption ensures only authorized personnel access sensitive military data, protecting national security while maintaining operational agility.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters&lt;/strong&gt;: &lt;br&gt;
Modern defense organizations need technology that matches geopolitical complexity. This app proves that Gemini 3's advanced reasoning and&lt;br&gt;
multimodality can solve problems that were impossible to tackle with traditional tools.&lt;/p&gt;

&lt;p&gt;The application is built entirely using vibe coding principles in Google AI Studio, demonstrating how non-technical military planners can rapidly prototype solutions that bridge the gap between strategy and technology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skills Demonstrated:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cloud Architecture (Digital Transformation principles)&lt;/li&gt;
&lt;li&gt;AI/ML Integration (Predictive analytics)&lt;/li&gt;
&lt;li&gt;Security Implementation (Zero Trust, IAM)&lt;/li&gt;
&lt;li&gt;DevOps &amp;amp; Reliability (Real-time monitoring)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Project links&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Video presentation = &lt;a href="https://www.youtube.com/watch?v=Ah2WVvFbMrc" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=Ah2WVvFbMrc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;AI studio app preview: &lt;a href="https://ai.studio/apps/drive/1nkWoz4ZLT93ztUmHlw4kuNMNaiZi0Uq8?fullscreenApplet=true" rel="noopener noreferrer"&gt;https://ai.studio/apps/drive/1nkWoz4ZLT93ztUmHlw4kuNMNaiZi0Uq8?fullscreenApplet=true&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;*&lt;em&gt;Image Gallery: *&lt;/em&gt;&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%2Fbrs63kzk3e600mghy27j.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%2Fbrs63kzk3e600mghy27j.png" alt=" " width="408" height="501"&gt;&lt;/a&gt;&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%2Fyeicjqgxbcxsan9bxb1j.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%2Fyeicjqgxbcxsan9bxb1j.png" alt=" " width="401" height="615"&gt;&lt;/a&gt;&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%2Fge3brcbde3yxyq97ymgy.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%2Fge3brcbde3yxyq97ymgy.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&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%2Fhqbyerxio89mdbxa4wzp.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%2Fhqbyerxio89mdbxa4wzp.png" alt=" " width="800" height="367"&gt;&lt;/a&gt;&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%2Ffumkx3q9c3fpgl5n7dmw.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%2Ffumkx3q9c3fpgl5n7dmw.png" alt=" " width="351" height="441"&gt;&lt;/a&gt;&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%2Fjsa4gaxub3zu5lfcfnn2.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%2Fjsa4gaxub3zu5lfcfnn2.png" alt=" " width="347" height="438"&gt;&lt;/a&gt;&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%2Fp15j3s2ghaw2y55tglyc.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%2Fp15j3s2ghaw2y55tglyc.png" alt=" " width="347" height="442"&gt;&lt;/a&gt;&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%2Fw36z26wobc7vt8pcwksr.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%2Fw36z26wobc7vt8pcwksr.png" alt=" " width="348" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>gemini</category>
      <category>ai</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>My article on the Google - Kaggle AI agents 2025, Feel free to leave a like or comment!</title>
      <dc:creator>Leonhard Satria Suharjo</dc:creator>
      <pubDate>Sat, 06 Dec 2025 12:41:06 +0000</pubDate>
      <link>https://dev.to/leonhardsuharjo/my-article-on-the-google-kaggle-ai-agents-2025-feel-free-to-leave-a-like-or-comment-1m5e</link>
      <guid>https://dev.to/leonhardsuharjo/my-article-on-the-google-kaggle-ai-agents-2025-feel-free-to-leave-a-like-or-comment-1m5e</guid>
      <description>&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856" class="crayons-story__hidden-navigation-link"&gt;How I Connected AI Agents with Manufacturing Supply Chain&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/leonhardsuharjo" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3644499%2F64befab8-8c30-4951-97c5-e0c1508e2b40.jpeg" alt="leonhardsuharjo profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/leonhardsuharjo" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Leonhard Satria Suharjo
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Leonhard Satria Suharjo
                
              
              &lt;div id="story-author-preview-content-3088840" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/leonhardsuharjo" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3644499%2F64befab8-8c30-4951-97c5-e0c1508e2b40.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Leonhard Satria Suharjo&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Dec 6 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856" id="article-link-3088840"&gt;
          How I Connected AI Agents with Manufacturing Supply Chain
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/googleaichallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;googleaichallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/python"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;python&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/kaggle"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;kaggle&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;4&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




</description>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>python</category>
      <category>kaggle</category>
    </item>
    <item>
      <title>How I Connected AI Agents with Manufacturing Supply Chain</title>
      <dc:creator>Leonhard Satria Suharjo</dc:creator>
      <pubDate>Sat, 06 Dec 2025 12:40:01 +0000</pubDate>
      <link>https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856</link>
      <guid>https://dev.to/leonhardsuharjo/how-i-connected-ai-agents-with-manufacturing-supply-chain-4856</guid>
      <description>&lt;h2&gt;
  
  
  Building &lt;strong&gt;SuplaiCerdas&lt;/strong&gt;: From &lt;strong&gt;Google-Kaggle&lt;/strong&gt;’s AI Agents Course to Real-World Supply Chain Automation
&lt;/h2&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%2Fz5kmgjlh2v74rb9huk13.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%2Fz5kmgjlh2v74rb9huk13.png" alt=" " width="720" height="503"&gt;&lt;/a&gt;*Project view on Github &lt;a class="mentioned-user" href="https://dev.to/leonhardsuharjo"&gt;@leonhardsuharjo&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Weeks ago, I had the opportunity to participate in the AI Agents 5-day Intensive Course held by Kaggle and Google. The course consisted of daily notebook exercises, video podcasts, and livestreams that systematically introduced me to the fundamentals of AI agents — from basic concepts to advanced topics like agent tools, multi-agent architectures, and quality evaluation.&lt;/p&gt;

&lt;p&gt;This article serves as a part of my capstone project submission: SuplaiCerdas, a prototype AI agent application designed to automate material cost and risk assessment for manufacturing projects.&lt;/p&gt;

&lt;p&gt;Further details can be found at my github profile &lt;a class="mentioned-user" href="https://dev.to/leonhardsuharjo"&gt;@leonhardsuharjo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  My Project in 34 Words
&lt;/h2&gt;

&lt;p&gt;An enterprise AI agent system that monitors component prices across suppliers for IoT manufacturing companies. The system helps maintain profit margins on tender commitments by detecting price spikes before they impact production costs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Background issue — The Manufacturing Business Challenge
&lt;/h2&gt;

&lt;p&gt;As someone deeply interested in the device and manufacturing business model, I’ve observed a critical challenge that many companies face during project execution.&lt;/p&gt;

&lt;p&gt;Manufacturing projects often involve months-long processes with multiple phases: tender submission, designing, testing, evaluation, and mass production. Here’s the catch — companies must commit to specific prices during the tender phase, which happens months before actual project execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The risk&lt;/strong&gt;&lt;br&gt;
Suppose a scenario where a business submits a tender for smart TV controllers at a price of 5000 USD each and win the bid. However, months later when production actually started, the price of the smart TV’s critical component, suppose its microcontroller has spiked twice in price due to various reasons. Therefore, this will bring disruption to the company’s initial budget that was submitted during the bid, resulting in margin loss.&lt;/p&gt;

&lt;p&gt;SuplaiCerdas is created to address this risk.&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%2Fjhpbuzqumyu9kmgqi7fy.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%2Fjhpbuzqumyu9kmgqi7fy.png" alt=" " width="690" height="529"&gt;&lt;/a&gt;*Sample material price&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned (and Applied) from the Course
&lt;/h2&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%2F51lsgzbkjj5bja5gj74y.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%2F51lsgzbkjj5bja5gj74y.png" alt=" " width="800" height="514"&gt;&lt;/a&gt;*Course main page&lt;/p&gt;

&lt;p&gt;Before diving into the project, I completed three key notebooks from the 5-day course that directly shaped my approach:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 1B: Multi-Agent Systems &amp;amp; Workflow Patterns&lt;/strong&gt;&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%2F8mjl804w49usfhfxgaqh.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%2F8mjl804w49usfhfxgaqh.png" alt=" " width="720" height="561"&gt;&lt;/a&gt;*Kaggle notebook accessible at my profile &lt;a class="mentioned-user" href="https://dev.to/leonhardsuharjo"&gt;@leonhardsuharjo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This notebook introduced me to multi-agent architectures — the idea of building specialized agents that work together like a team. The key concept I applied from this notebook is Sequential Workflow Pattern, which is breaking down tasks into a pipeline of different agents performing sequential tasks.&lt;/p&gt;

&lt;p&gt;For SuplaiCerdas, this meant:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;PriceCheckAgent retrieves current prices from all suppliers&lt;/li&gt;
&lt;li&gt;ComparisonAgent calculates price changes and assigns risk levels&lt;/li&gt;
&lt;li&gt;RecommendationAgent synthesizes findings into actionable procurement advice&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Day 2A: Building Custom Function Tools&lt;/strong&gt;&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%2Frdb8v5t40b221z3am7k1.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%2Frdb8v5t40b221z3am7k1.png" alt=" " width="720" height="577"&gt;&lt;/a&gt;*Kaggle notebook accessible at my profile &lt;a class="mentioned-user" href="https://dev.to/leonhardsuharjo"&gt;@leonhardsuharjo&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This notebook taught me that agents become powerful when they can use tools to interact with the outside world. The key concept I applied in this notebook is Custom Function Tools, which is turning python functions into agent tool using ADK (Agent Development Kit).&lt;/p&gt;

&lt;p&gt;For SuplaiCerdas, I built two custom tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;check_component_prices(): Connects to supplier database and retrieves current prices&lt;/li&gt;
&lt;li&gt;calculate_price_change(): Calculates percentage change from historical data and flags risk levels (HIGH &amp;gt;10%, MEDIUM 5–10%, LOW &amp;lt;5%)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Day 4B: Agent Evaluation&lt;/strong&gt;&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%2Fiqghhpcziowe23s1wmo2.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%2Fiqghhpcziowe23s1wmo2.png" alt=" " width="720" height="582"&gt;&lt;/a&gt;*Kaggle notebook accessible at my profile &lt;a class="mentioned-user" href="https://dev.to/leonhardsuharjo"&gt;@leonhardsuharjo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This notebook emphasized that agents are non-deterministic — they don’t always behave the same way, so systematic testing is critical in order to know the system is ready for initial deployment.&lt;/p&gt;

&lt;p&gt;For SuplaiCerdas, I wrote three test cases:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Test 1: Price check tool retrieves data from all 3 suppliers&lt;/li&gt;
&lt;li&gt;Test 2: Price change calculation detects 17.24% spike as HIGH risk&lt;/li&gt;
&lt;li&gt;Test 3: Complete workflow executes end-to-end without errors&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Building SuplaiCerdas: The Three-Agent System
&lt;/h2&gt;

&lt;p&gt;Suplaicerdas is comprised of three main agents, as the following:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent 1: PriceCheckAgent&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Role: Gather Data&lt;/li&gt;
&lt;li&gt;Tool: check_component_prices(component_code)&lt;/li&gt;
&lt;li&gt;What it does: Queries a simulated supplier database for current prices across 3 suppliers&lt;/li&gt;
&lt;li&gt;Sample output:&lt;/li&gt;
&lt;li&gt;Supplier_A_Electronics: $5.80&lt;/li&gt;
&lt;li&gt;Supplier_B_Components: $6.00&lt;/li&gt;
&lt;li&gt;Supplier_C_Global: $5.70&lt;/li&gt;
&lt;/ol&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%2F48lw2qo6jqpk40a1zume.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%2F48lw2qo6jqpk40a1zume.png" alt=" " width="720" height="545"&gt;&lt;/a&gt;*Actual python code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent 2: ComparisonAgent&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Role: Risk Analyst&lt;/li&gt;
&lt;li&gt;Tool: calculate_price_change(current_price, last_month_price)&lt;/li&gt;
&lt;li&gt;What it does: Calculates percentage change and assigns risk levels&lt;/li&gt;
&lt;li&gt;High if price increase &amp;gt;10%&lt;/li&gt;
&lt;li&gt;Medium if 5–10% price increase&lt;/li&gt;
&lt;li&gt;Low if &amp;lt;5% increase&lt;/li&gt;
&lt;li&gt;Sample output:&lt;/li&gt;
&lt;li&gt;Supplier A: 5.45% increase → MEDIUM risk&lt;/li&gt;
&lt;li&gt;Supplier B: 3.45% increase → LOW risk&lt;/li&gt;
&lt;li&gt;Supplier C: 0.88% increase → LOW risk&lt;/li&gt;
&lt;/ol&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%2Ftig46rxq9c5tfmzmduc4.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%2Ftig46rxq9c5tfmzmduc4.png" alt=" " width="701" height="747"&gt;&lt;/a&gt;*Actual python code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent 3: RecommendationAgent&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Role: Procurement Advisor&lt;/li&gt;
&lt;li&gt;Tool: Pure LLM reasoning (no external tools)&lt;/li&gt;
&lt;li&gt;What it does: Synthesizes price + risk data into a clear, actionable recommendation&lt;/li&gt;
&lt;li&gt;Sample output:
‘ RECOMMENDATION: Supplier_C_Global
CURRENT PRICE: $5.70 (lowest)
RISK LEVEL: LOW (0.88% increase)
RATIONALE: Supplier_C_Global offers the best combination of competitive pricing and price stability. Supplier_A_Electronics shows a moderate price increase (5.45%), flagging a MEDIUM risk that could impact your tender margins. ‘&lt;/li&gt;
&lt;/ol&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%2Fki98ls0aqzreteuvwlpc.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%2Fki98ls0aqzreteuvwlpc.png" alt=" " width="596" height="448"&gt;&lt;/a&gt; *Actual python code&lt;/p&gt;




&lt;h2&gt;
  
  
  Testing the solution prototype
&lt;/h2&gt;

&lt;p&gt;Below are the running procedures as well as screenshots of the product:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run agent test python file, proceed after all test passed.&lt;/li&gt;
&lt;/ol&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%2Fr0aj71hap2fopojcrf4i.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%2Fr0aj71hap2fopojcrf4i.png" alt=" " width="720" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run main.py python file and enter component code to be tracked.&lt;/li&gt;
&lt;/ol&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%2Fxeuc1o4xs47rr9m6usf2.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%2Fxeuc1o4xs47rr9m6usf2.png" alt=" " width="720" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;After entering desired component code, system will do an automated assessment and return a result of recommendations.&lt;/li&gt;
&lt;/ol&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%2Ftdpu8b0fhfz7ydd43k4q.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%2Ftdpu8b0fhfz7ydd43k4q.png" alt=" " width="720" height="475"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s next
&lt;/h2&gt;

&lt;p&gt;As I have achieved a working prototype with a simulated supplier data, there are several directions I can take to further improve this app’s functionality, including the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real Data Integration: Use actual supplier APIs&lt;/li&gt;
&lt;li&gt;Currency Conversion: Support different currencies (USD/EUR/IDR)&lt;/li&gt;
&lt;li&gt;Automation: Schedule daily price checks with alerts to user for certain conditions like high risk components&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Participating in this AI agents course and working on the project has taught me more than just theories. It has taught me how I could implement AI agents into real-life cases, which I believe is crucial during the recent AI developments.&lt;/p&gt;

&lt;p&gt;I am excited for what’s ahead.&lt;/p&gt;




&lt;p&gt;Thanks for taking the time to read this article :), feel free to leave a comment.&lt;/p&gt;

&lt;p&gt;Github project repo link: &lt;a href="https://github.com/leonhardsuharjo/SuplaiCerdas_GoogleKaggle-Capstone_AI-Agents_LeonhardSatriaSuharjo" rel="noopener noreferrer"&gt;https://github.com/leonhardsuharjo/SuplaiCerdas_GoogleKaggle-Capstone_AI-Agents_LeonhardSatriaSuharjo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-- written by Leonhard Satria Suharjo --&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>python</category>
      <category>kaggle</category>
    </item>
  </channel>
</rss>
