<?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: Marcus Ahlfors</title>
    <description>The latest articles on DEV Community by Marcus Ahlfors (@marlusx).</description>
    <link>https://dev.to/marlusx</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%2F1274430%2F0c80bdda-e9d2-42f3-b6bc-edf164ef96e4.png</url>
      <title>DEV Community: Marcus Ahlfors</title>
      <link>https://dev.to/marlusx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marlusx"/>
    <language>en</language>
    <item>
      <title>Are we the only service to run monorepos?</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Mon, 27 Apr 2026 09:14:30 +0000</pubDate>
      <link>https://dev.to/diploi/are-we-the-only-service-to-run-monorepos-n5j</link>
      <guid>https://dev.to/diploi/are-we-the-only-service-to-run-monorepos-n5j</guid>
      <description>&lt;p&gt;Importing existing projects into &lt;a href="https://diploi.com" rel="noopener noreferrer"&gt;Diploi&lt;/a&gt; has been possible for some time. The first versions were limited to simple &lt;a href="https://nodejs.org" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt; and &lt;a href="https://lovable.dev" rel="noopener noreferrer"&gt;Lovable&lt;/a&gt; projects and, to be honest, were not very good even at that.&lt;/p&gt;

&lt;p&gt;Initially, we used &lt;a href="https://railpack.com" rel="noopener noreferrer"&gt;Railpack&lt;/a&gt; by &lt;a href="https://railway.com" rel="noopener noreferrer"&gt;Railway&lt;/a&gt; to detect languages and technologies. That helped, but the real breakthrough came when we started using AI for the harder parts of the import process. There are still things to improve, but we believe Diploi now handles cases that no other services can.&lt;/p&gt;

&lt;h2&gt;
  
  
  The challenge
&lt;/h2&gt;

&lt;p&gt;The problem is massive: How do you import and run just about any &lt;a href="https://github.com" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; repository, ideally with no configuration upfront?&lt;/p&gt;

&lt;p&gt;A repository might be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a frontend-only project&lt;/li&gt;
&lt;li&gt;a frontend and backend application&lt;/li&gt;
&lt;li&gt;a monorepo&lt;/li&gt;
&lt;li&gt;a project with multiple microservices&lt;/li&gt;
&lt;li&gt;a setup with databases, background workers, or other supporting services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To make this work, Diploi needs to detect technologies, ports, hosts, container start commands, environment variables, and service relationships. It then needs to map all of this into Diploi components that can run the actual containers and make them talk to each other.&lt;/p&gt;

&lt;p&gt;One thing that makes this especially interesting is that Diploi runs both development and production workloads. Development environments often work quite differently from production. They may need hot module reloading, editable source code, different commands, or different assumptions than a prebuilt production app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Diploi is well suited for AI-powered imports
&lt;/h2&gt;

&lt;p&gt;There are a few things that make Diploi especially well suited for this task.&lt;/p&gt;

&lt;p&gt;First, Diploi has precisely defined components for many popular languages and frameworks. This makes it easier for AI to reason about what a project needs and how it should be mapped.&lt;/p&gt;

&lt;p&gt;Second, most of the infrastructure setup is controlled through a single &lt;code&gt;diploi.yaml&lt;/code&gt; file. This file defines hosts, ports, environment variables, container commands, and relationships between components. In many ways, this is exactly the kind of structured configuration that AI is good at producing.&lt;/p&gt;

&lt;p&gt;We started experimenting with AI-powered imports in March, and the initial tests were promising. By analyzing package files, &lt;a href="https://docs.docker.com/compose/" rel="noopener noreferrer"&gt;Docker Compose&lt;/a&gt; files, &lt;a href="https://docs.docker.com/reference/dockerfile/" rel="noopener noreferrer"&gt;Dockerfiles&lt;/a&gt;, READMEs, folder structures, and other project files, AI turned out to be remarkably capable of understanding how a project should run on Diploi.&lt;/p&gt;

&lt;p&gt;Our work has mostly been to provide context to AI, add hints for tricky situations, write instructions for our components, and fine-tune the process through automated tests. We also made many improvements to the components themselves so they could handle a wider range of real-world use cases. Our initial benchmark was the list of every public repository that had ever been imported into Diploi.&lt;/p&gt;

&lt;p&gt;In the start of April 2026, we decided to release the new import flow to production, because it had already then become a massive improvement over the previous version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where we are now
&lt;/h2&gt;

&lt;p&gt;This feature is by no means perfect.&lt;/p&gt;

&lt;p&gt;Even when the architecture is correctly detected and mapped to Diploi, there may still be extra steps before an application runs 100% correctly. Some projects require migrations, manual setup steps, or secret keys that need to be configured. In some cases, Dockerfiles might need to be modified (we currently do not allow AI to do that).&lt;/p&gt;

&lt;p&gt;We also do not support every language, framework, or version yet, but we're constantly improving and expanding what Diploi can run.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;p&gt;When we benchmarked this against other services, we could not find another service that could import and run even modestly complex projects in the way described above. Many platforms are excellent at running frontend applications, such as &lt;a href="https://netlify.com" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt; and &lt;a href="https://vercel.com" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt;, but we have not found any that really try to handle full-stack projects, monorepos, development environments, production environments, databases, and service relationships in the same import flow.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;What we found&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://vercel.com" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Excellent for frontend only, especially &lt;a href="https://nextjs.org" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; and Lovable-style imports, which run quickly and reliably. Backend is handled through serverless functions rather than containers, so container-based backends and full-stack monorepos with their own services are not really in scope. We could not find clear support for importing public repos or for example databases in the import flow itself.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://netlify.com" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Strong for static sites, &lt;a href="https://nextjs.org" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; and serverless functions, with an integrated database option (&lt;a href="https://neon.tech" rel="noopener noreferrer"&gt;Neon&lt;/a&gt;). Frontend-only imports such as Lovable projects worked well in our tests, but we did not find support for importing monorepos, container-based backends, &lt;a href="https://www.python.org" rel="noopener noreferrer"&gt;Python&lt;/a&gt; apps, or full-stack projects with multiple services.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://railway.com" rel="noopener noreferrer"&gt;Railway&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Has an import flow that detects and launches monorepos, but in our tests the experience was hard to follow: little visible feedback on what was detected, where the deployed site lived, or why a build had failed. More complex repos failed without clear indication of the cause, which made it hard to evaluate how far the import actually goes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://fly.io" rel="noopener noreferrer"&gt;Fly.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Does not really offer a magical import flow in the same sense. In our tests we could not get even a static site to run end-to-end through an import; it appears to assume you are designing for Fly.io specifically rather than handing it an arbitrary repo.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If we have missed something, let us know.&lt;/p&gt;

&lt;p&gt;And if this sounds interesting, &lt;a href="https://diploi.com" rel="noopener noreferrer"&gt;try importing one of your own projects into Diploi&lt;/a&gt;. We would love to hear how it works for you.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>ai</category>
      <category>hosting</category>
      <category>monorepo</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Tue, 07 Oct 2025 10:16:45 +0000</pubDate>
      <link>https://dev.to/marlusx/-18lp</link>
      <guid>https://dev.to/marlusx/-18lp</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/diploi/exploring-7-lesser-known-ai-coding-extensions-for-vs-code-2nmb" 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.amazonaws.com%2Fuploads%2Farticles%2F07tbt2ufhbcan2ihufnm.png" height="336" class="m-0" width="800"&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/diploi/exploring-7-lesser-known-ai-coding-extensions-for-vs-code-2nmb" rel="noopener noreferrer" class="c-link"&gt;
            Exploring 7 Lesser Known AI Coding Extensions for VS Code - DEV Community
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            In this article, we check interesting AI coding alternatives to the popular AI coding tools in the Visual Studio Marketplace
          &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" width="300" height="299"&gt;
          dev.to
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>extensions</category>
      <category>vscode</category>
      <category>learning</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Mon, 14 Apr 2025 09:24:36 +0000</pubDate>
      <link>https://dev.to/marlusx/-36o8</link>
      <guid>https://dev.to/marlusx/-36o8</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/diploi/nuejs-sveltekit-and-mariadb-now-available-on-diploi-c5c" class="crayons-story__hidden-navigation-link"&gt;Nue.js, SvelteKit and MariaDB now available on Diploi 🎉&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 class="crayons-logo crayons-logo--l" href="/diploi"&gt;
            &lt;img alt="Diploi logo" 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%2Forganization%2Fprofile_image%2F8309%2F93ee80c5-3753-4a29-9304-f4f257d9fe06.png" class="crayons-logo__image" width="188" height="188"&gt;
          &lt;/a&gt;

          &lt;a href="/wickathou" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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%2F1021764%2F472aacd3-5702-453b-885e-38345f82bc28.png" alt="wickathou profile" class="crayons-avatar__image" width="612" height="612"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/wickathou" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Javier Hernandez
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Javier Hernandez
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
              
              &lt;div id="story-author-preview-content-2394663" 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="/wickathou" 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%2F1021764%2F472aacd3-5702-453b-885e-38345f82bc28.png" class="crayons-avatar__image" alt="" width="612" height="612"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Javier Hernandez&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;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/diploi" class="crayons-story__secondary fw-medium"&gt;Diploi&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/diploi/nuejs-sveltekit-and-mariadb-now-available-on-diploi-c5c" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 14 '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/diploi/nuejs-sveltekit-and-mariadb-now-available-on-diploi-c5c" id="article-link-2394663"&gt;
          Nue.js, SvelteKit and MariaDB now available on Diploi 🎉
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/nue"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;nue&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/svelte"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;svelte&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mariadb"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mariadb&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&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/diploi/nuejs-sveltekit-and-mariadb-now-available-on-diploi-c5c" 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/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.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;3&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/diploi/nuejs-sveltekit-and-mariadb-now-available-on-diploi-c5c#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;
            3 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>nue</category>
      <category>svelte</category>
      <category>mariadb</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Check out some GithHub Action stuff we do at Diploi</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Wed, 02 Apr 2025 11:37:00 +0000</pubDate>
      <link>https://dev.to/marlusx/check-out-some-githhub-action-stuff-we-do-at-diploi-20hh</link>
      <guid>https://dev.to/marlusx/check-out-some-githhub-action-stuff-we-do-at-diploi-20hh</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/diploi/how-to-create-dynamic-github-actions-based-on-the-contents-of-a-repository-50j8" class="crayons-story__hidden-navigation-link"&gt;How to create dynamic GitHub Actions based on the contents of a repository&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 class="crayons-logo crayons-logo--l" href="/diploi"&gt;
            &lt;img alt="Diploi logo" 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%2Forganization%2Fprofile_image%2F8309%2F93ee80c5-3753-4a29-9304-f4f257d9fe06.png" class="crayons-logo__image" width="188" height="188"&gt;
          &lt;/a&gt;

          &lt;a href="/wickathou" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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%2F1021764%2F472aacd3-5702-453b-885e-38345f82bc28.png" alt="wickathou profile" class="crayons-avatar__image" width="612" height="612"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/wickathou" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Javier Hernandez
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Javier Hernandez
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
              
              &lt;div id="story-author-preview-content-2356738" 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="/wickathou" 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%2F1021764%2F472aacd3-5702-453b-885e-38345f82bc28.png" class="crayons-avatar__image" alt="" width="612" height="612"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Javier Hernandez&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;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/diploi" class="crayons-story__secondary fw-medium"&gt;Diploi&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/diploi/how-to-create-dynamic-github-actions-based-on-the-contents-of-a-repository-50j8" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 2 '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/diploi/how-to-create-dynamic-github-actions-based-on-the-contents-of-a-repository-50j8" id="article-link-2356738"&gt;
          How to create dynamic GitHub Actions based on the contents of a repository
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/githubactions"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;githubactions&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cicd"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cicd&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devops"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devops&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&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/diploi/how-to-create-dynamic-github-actions-based-on-the-contents-of-a-repository-50j8" 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/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.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; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/diploi/how-to-create-dynamic-github-actions-based-on-the-contents-of-a-repository-50j8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              1&lt;span class="hidden s:inline"&gt; 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;
            4 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>githubactions</category>
      <category>cicd</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Check out the new Stack Builder!</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Mon, 17 Mar 2025 22:19:17 +0000</pubDate>
      <link>https://dev.to/marlusx/check-out-the-new-stack-builder-4n06</link>
      <guid>https://dev.to/marlusx/check-out-the-new-stack-builder-4n06</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/diploi/easily-create-complex-stacks-in-just-a-few-clicks-new-release-3gdl" class="crayons-story__hidden-navigation-link"&gt;Easily Create Complex Stacks in Just a Few Clicks — New Release!&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 class="crayons-logo crayons-logo--l" href="/diploi"&gt;
            &lt;img alt="Diploi logo" 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%2Forganization%2Fprofile_image%2F8309%2F93ee80c5-3753-4a29-9304-f4f257d9fe06.png" class="crayons-logo__image" width="188" height="188"&gt;
          &lt;/a&gt;

          &lt;a href="/munkkeli" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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%2F1275122%2F03cbfc26-ec09-4947-8f26-cde3552168ec.png" alt="munkkeli profile" class="crayons-avatar__image" width="512" height="512"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/munkkeli" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Tuomas
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Tuomas
                
              
              &lt;div id="story-author-preview-content-2332464" 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="/munkkeli" 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%2F1275122%2F03cbfc26-ec09-4947-8f26-cde3552168ec.png" class="crayons-avatar__image" alt="" width="512" height="512"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Tuomas&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;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/diploi" class="crayons-story__secondary fw-medium"&gt;Diploi&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/diploi/easily-create-complex-stacks-in-just-a-few-clicks-new-release-3gdl" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 17 '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/diploi/easily-create-complex-stacks-in-just-a-few-clicks-new-release-3gdl" id="article-link-2332464"&gt;
          Easily Create Complex Stacks in Just a Few Clicks — New Release!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devops"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devops&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/startup"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;startup&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/diploi/easily-create-complex-stacks-in-just-a-few-clicks-new-release-3gdl" 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/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; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/diploi/easily-create-complex-stacks-in-just-a-few-clicks-new-release-3gdl#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;
            4 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>webdev</category>
      <category>devops</category>
      <category>cloud</category>
      <category>startup</category>
    </item>
    <item>
      <title>Diploi Changelog: Browser IDE &amp; Quick Trials</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Wed, 03 Apr 2024 09:30:09 +0000</pubDate>
      <link>https://dev.to/diploi/diploi-changelog-browser-ide-quick-trials-1n1c</link>
      <guid>https://dev.to/diploi/diploi-changelog-browser-ide-quick-trials-1n1c</guid>
      <description>&lt;p&gt;Hi everyone, we've been quiet here for a month, but not idle.&lt;/p&gt;

&lt;p&gt;First, a Big thank you 🙏 to everyone who has participated in our pilots. It means the world to us and the feedback is invaluable.&lt;/p&gt;

&lt;p&gt;Now, on to the news 📰 ...&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Browser IDE
&lt;/h2&gt;

&lt;p&gt;Previously, development using Diploi was done using the &lt;a href="https://code.visualstudio.com/docs/remote/ssh" rel="noopener noreferrer"&gt;Remote Development&lt;/a&gt; feature of (mostly) VS Code, so users connected using ssh and edited in their local VS Code. This feature is great, and still available in all of our templates.&lt;/p&gt;

&lt;p&gt;But from this week on there is another option: Developing directly in the browser using a version of VS Code (a little like GitHub Codespaces). It's simple, you just click a button to open the editor. Almost all extensions work. This is great for quick edits, but I find you quickly forget it is in the browser so it is not only for minor work IMO.&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%2Fv5mga5mmrkk3kjtrp905.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%2Fv5mga5mmrkk3kjtrp905.png" alt=" " width="464" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Quick Trials
&lt;/h2&gt;

&lt;p&gt;People are so busy nowadays, we know that. That's why we created a way of trying out Diploi in only two clicks. No registration, no configuration, and with the Browser IDE you can start coding in the browser in no time. You get a full environment with database and everything to play with. If you like it you can claim the account with your GitHub account and continue working. &lt;a href="https://diploi.com/launch" rel="noopener noreferrer"&gt;Check it out&lt;/a&gt; 🙌. It's a perfect way to try out our templates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://diploi.com/launch" rel="noopener noreferrer"&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%2F974trofovce0d53g72zh.png" alt=" " width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for your time. We'll be back with more news soon.&lt;/p&gt;

</description>
      <category>diploi</category>
      <category>news</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>Hi from Diploi 🎉</title>
      <dc:creator>Marcus Ahlfors</dc:creator>
      <pubDate>Wed, 07 Feb 2024 08:02:56 +0000</pubDate>
      <link>https://dev.to/diploi/hi-from-diploi-52j9</link>
      <guid>https://dev.to/diploi/hi-from-diploi-52j9</guid>
      <description>&lt;p&gt;Welcome to the very first post about &lt;a href="https://diploi.com" rel="noopener noreferrer"&gt;Diploi&lt;/a&gt;. We're on a journey to make software development feel like magic 🪄 and we very much want you to join the ride.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what's Diploi?
&lt;/h2&gt;

&lt;p&gt;For starters, it's possibly the most fun and easy way to try out new tech stacks. With just a few clicks you can launch, for example, NextJS/Svelte or Astro + PostgreSQL and start coding right away.&lt;/p&gt;

&lt;p&gt;But it is so much more. Officially, we describe it as a &lt;em&gt;"SaaS service for managing, developing and hosting your full application"&lt;/em&gt;, but really, think of it as a way to develop and run your application, all the way from initial experiments to a full service with a large team of developers, having CI/CD and running test, staging and production versions. All without any DevOps at all 🤯.&lt;/p&gt;

&lt;p&gt;In more technical terms, it could be described as a way of automating Kubernetes, as Diploi is based on Kubernetes. But if you run our ready templates you don't even need to know how to spell Kubernetes. And because we are using Kubernetes you won't be locked into Diploi forever, you can eject ⏏️ and run your solution on some other Kubernetes platform. But you might regret it 😉.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote Development
&lt;/h2&gt;

&lt;p&gt;When developing in Diploi you install nothing on your local machine. Just connect with your editor (eg. VSCode) and get going. Nothing to set up, just code away.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;It's early days and we are working hard on adding features and growing the number of supported stacks. We'd love it if you want to try it out (and you can try it for free). Please let us know if support for your favourite framework or tech is missing.&lt;/p&gt;

&lt;p&gt;Thanks for tuning in, head out to &lt;a href="https://diploi.com" rel="noopener noreferrer"&gt;Diploi.com&lt;/a&gt; and press &lt;strong&gt;Sign up&lt;/strong&gt;, you won't regret it.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>showdev</category>
      <category>news</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
