<?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: Kimsang Silalahi</title>
    <description>The latest articles on DEV Community by Kimsang Silalahi (@kimsang766).</description>
    <link>https://dev.to/kimsang766</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4079122%2Fe8c4dc03-7579-4375-9e18-8e7146f7f867.jpg</url>
      <title>DEV Community: Kimsang Silalahi</title>
      <link>https://dev.to/kimsang766</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kimsang766"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Kimsang Silalahi</dc:creator>
      <pubDate>Tue, 29 Sep 2026 11:27:57 +0000</pubDate>
      <link>https://dev.to/kimsang766/-3c2e</link>
      <guid>https://dev.to/kimsang766/-3c2e</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e" class="crayons-story__hidden-navigation-link"&gt;People Guessed I Used Claude Opus 5.5. I Used a Free Model Instead. (Astra GPT 6 Cooked)&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="/kimsang766" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4079122%2Fe8c4dc03-7579-4375-9e18-8e7146f7f867.jpg" alt="kimsang766 profile" class="crayons-avatar__image" width="800" height="802"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/kimsang766" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Kimsang Silalahi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Kimsang Silalahi
                
                
              
              &lt;div id="story-author-preview-content-4771064" 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="/kimsang766" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4079122%2Fe8c4dc03-7579-4375-9e18-8e7146f7f867.jpg" class="crayons-avatar__image" alt="" width="800" height="802"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Kimsang Silalahi&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/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 29&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/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e" id="article-link-4771064"&gt;
          People Guessed I Used Claude Opus 5.5. I Used a Free Model Instead. (Astra GPT 6 Cooked)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&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/opus5"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opus5&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/astra"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;astra&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/portfolio"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;portfolio&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/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e" 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="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;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;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>People Guessed I Used Claude Opus 5.5. I Used a Free Model Instead. (Astra GPT 6 Cooked)</title>
      <dc:creator>Kimsang Silalahi</dc:creator>
      <pubDate>Tue, 29 Sep 2026 11:24:31 +0000</pubDate>
      <link>https://dev.to/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e</link>
      <guid>https://dev.to/kimsang766/people-guessed-i-used-claude-opus-55-i-used-a-free-model-instead-astra-gpt-6-cooked-412e</guid>
      <description>&lt;p&gt;The interesting part wasn’t the model. It was designing what a visitor should notice, explore, and do next.&lt;/p&gt;

&lt;p&gt;A few people assumed I rebuilt my portfolio using Claude Opus 5.5.&lt;br&gt;
I didn’t.&lt;/p&gt;

&lt;p&gt;I used a free AI model, worked in (its a secret service btw) instead of the coding tools people kept asking me about, and rebuilt the site in roughly half a day.&lt;br&gt;
That sounds like a story about the model. It isn’t—not really.&lt;br&gt;
The more interesting question is: when AI makes implementation faster, what makes the result feel intentional instead of merely generated?&lt;/p&gt;

&lt;p&gt;For me, the answer was the experience around the code: what a visitor sees first, where a project link leads, and whether each page gives them a reason to keep exploring.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr6b1p4v4brshstbdiqrs.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr6b1p4v4brshstbdiqrs.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The page is designed to be scanned. The spacing separates groups; the headings create hierarchy; the links make the next move visible.&lt;/p&gt;

&lt;p&gt;That is what I mean by spatial design here: arranging information on a two-dimensional page so it has a readable order and useful groupings. I’m not talking about 3D spatial computing, AR, or VR.&lt;/p&gt;

&lt;p&gt;The visitor isn’t forced into one journey. They can read about me, browse projects, open a post, download the CV, or leave. That choice is a small but important part of the UX.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhqq4145aqcsc6he62f3n.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhqq4145aqcsc6he62f3n.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One small detail can also trigger curiosity. When a visitor sees a familiar reference such as ChatGPT in their Search Engine, they may want to find out what it means or explore the related project. I’ve heard that kind of reaction informally; I don’t have analytics proving that it causes searches or conversions. Curiosity is a useful design signal, but it is not the same as measured behavior.&lt;/p&gt;

&lt;p&gt;That “next step” matters most on the Projects page. A project card should answer three quick questions: What is this? What did I build? Where can I inspect it?&lt;/p&gt;

&lt;p&gt;A demo and a repository are different kinds of proof. One lets someone try the experience. The other lets them examine the implementation. Some of my projects have one link, some have another, and the interface should make that clear instead of pretending every project has everything.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq52s4aq8zhy5s2245f0z.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq52s4aq8zhy5s2245f0z.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rebuild itself took about half a day. It doesn’t mean every asset, case study, deployment check, or follow-up improvement took only half a day.&lt;/p&gt;

&lt;p&gt;The speed came from a combination: a clear enough brief, a free model that was useful for [tugas sebenarnya], and an editor that fit the way I wanted to work. I used Code Editor, not Antigravity or Claude Code (its a secret). That isn’t a claim that one tool is better; it’s a reminder that the outcome depends on the workflow and the decisions around the tool.&lt;/p&gt;

&lt;p&gt;AI helped me move through copy exploration, component scaffolding, styling iterations, debugging, etc. I still had to decide what belonged in the portfolio, review the generated code, check the claims, and verify that the published links worked.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzalo871k084pg7s5y6hr.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzalo871k084pg7s5y6hr.png" alt=" " width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s another boundary I want to keep clear: the portfolio links to AI-related work, but it is not itself an embedded AI agent or multimodal application. It does not become Agentic UX just because one of its projects involves AI.&lt;/p&gt;

&lt;p&gt;If I add an agent, voice interface, or image/audio interaction later, I’ll treat that as a separate product decision—with a task, user controls, failure handling, and testing. For now, I would rather describe what is actually there than decorate the story with a feature that isn’t.&lt;/p&gt;

&lt;p&gt;The part I’m proudest of is not that a website can be rebuilt quickly. It’s that speed gave me more room to ask: what does the visitor need, and what should happen after they click?&lt;/p&gt;

&lt;p&gt;You can explore the portfolio here: [&lt;a href="https://kimsilalahi.vercel.app/" rel="noopener noreferrer"&gt;https://kimsilalahi.vercel.app/&lt;/a&gt;].&lt;/p&gt;

&lt;p&gt;What would you inspect first in this portfolio: the projects, the code, the visual hierarchy, or the route each call to action takes you through?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opus5</category>
      <category>astra</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Tough</title>
      <dc:creator>Kimsang Silalahi</dc:creator>
      <pubDate>Wed, 26 Aug 2026 14:23:56 +0000</pubDate>
      <link>https://dev.to/kimsang766/tough-1g76</link>
      <guid>https://dev.to/kimsang766/tough-1g76</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://dev.to/kimsang766/from-jupyter-notebook-to-production-building-an-enterprise-mlops-pipeline-for-churn-prediction-jk3" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fulm6ooc08voh2ufp16rl.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://dev.to/kimsang766/from-jupyter-notebook-to-production-building-an-enterprise-mlops-pipeline-for-churn-prediction-jk3" rel="noopener noreferrer" class="c-link"&gt;
            From Jupyter Notebook to Production: Building an Enterprise MLOps Pipeline for Churn Prediction - DEV Community
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Introduction   One of the biggest traps in Data Science is the "Jupyter Notebook Illusion."...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" 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%2F8j7kvp660rqzt99zui8e.png"&gt;
          dev.to
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>From Jupyter Notebook to Production: Building an Enterprise MLOps Pipeline for Churn Prediction</title>
      <dc:creator>Kimsang Silalahi</dc:creator>
      <pubDate>Sat, 15 Aug 2026 14:48:32 +0000</pubDate>
      <link>https://dev.to/kimsang766/from-jupyter-notebook-to-production-building-an-enterprise-mlops-pipeline-for-churn-prediction-jk3</link>
      <guid>https://dev.to/kimsang766/from-jupyter-notebook-to-production-building-an-enterprise-mlops-pipeline-for-churn-prediction-jk3</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;One of the biggest traps in Data Science is the "Jupyter Notebook Illusion." It’s easy to train a model with 95% accuracy, but it’s completely useless if it never leaves the notebook. Recently, I challenged myself to build not just a Machine Learning model, but a fully containerized, production-ready &lt;strong&gt;Enterprise MLOps Pipeline&lt;/strong&gt; to predict Telecommunications Customer Churn.&lt;/p&gt;

&lt;p&gt;In this article, I want to share how I architected the system, handled imbalanced data, and built a "Quiet Luxury" Executive Dashboard to serve the predictions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;I decoupled the system into three main layers to ensure scalability:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Brain (Model &amp;amp; Tracking):&lt;/strong&gt; I used &lt;strong&gt;XGBoost&lt;/strong&gt; combined with &lt;strong&gt;SMOTE&lt;/strong&gt; to handle the severe class imbalance in churn datasets. To make sure every experiment is reproducible, I integrated &lt;strong&gt;MLflow&lt;/strong&gt; to track metrics (accuracy, f1-score) and log the model artifacts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Engine (Serving):&lt;/strong&gt; The model is served using &lt;strong&gt;FastAPI&lt;/strong&gt;, creating a low-latency RESTful API. The entire backend is containerized using &lt;strong&gt;Docker&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Eyes (Telemetry &amp;amp; UI):&lt;/strong&gt; To ensure the system's health in production, I set up &lt;strong&gt;Prometheus&lt;/strong&gt; to scrape metrics and &lt;strong&gt;Grafana&lt;/strong&gt; for real-time visualization. Finally, I built a dark-themed, interactive Web Dashboard for the executives to consume the AI predictions effortlessly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Handling The "Black Box" Problem
&lt;/h2&gt;

&lt;p&gt;Executives don't just want a probability score; they want to know &lt;em&gt;why&lt;/em&gt;. To solve this, I integrated &lt;strong&gt;SHAP (SHapley Additive exPlanations)&lt;/strong&gt;. Now, the dashboard doesn't just say "94% risk of churn", it actually breaks down the exact features (e.g., &lt;em&gt;Month-to-month contract&lt;/em&gt;, &lt;em&gt;Fiber optic&lt;/em&gt;) that are driving that prediction.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8afo7cgqkzdkdtk7tb94.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8afo7cgqkzdkdtk7tb94.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;You can see the fully interactive architecture and the dashboard in action in my GitHub repository. I’ve open-sourced the entire codebase, including the Docker Compose setups and the UI templates.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbacvuofpk6su6yishr4c.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbacvuofpk6su6yishr4c.png" alt=" " width="799" height="437"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;👉 &lt;strong&gt;Check out the full Repository here:&lt;/strong&gt; &lt;a href="https://github.com/kim40404/mlops-churn-dicoding" rel="noopener noreferrer"&gt;https://github.com/kim40404/mlops-churn-dicoding&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find the repository helpful, I would highly appreciate a &lt;strong&gt;Star ⭐&lt;/strong&gt;! Let me know in the comments if you have any questions about deploying XGBoost models with FastAPI or setting up MLflow.&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>python</category>
      <category>mlops</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
