<?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: Ajay Kumar</title>
    <description>The latest articles on DEV Community by Ajay Kumar (@ajay_kumar_devops).</description>
    <link>https://dev.to/ajay_kumar_devops</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%2F3025945%2F30f3760f-8dd7-45cd-8cf7-574eec487bf8.jpg</url>
      <title>DEV Community: Ajay Kumar</title>
      <link>https://dev.to/ajay_kumar_devops</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ajay_kumar_devops"/>
    <language>en</language>
    <item>
      <title>open source AI App builder with DB</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 01 Sep 2026 08:07:25 +0000</pubDate>
      <link>https://dev.to/pandastack/open-source-ai-app-builder-with-db-5d6p</link>
      <guid>https://dev.to/pandastack/open-source-ai-app-builder-with-db-5d6p</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pandastack-io" rel="noopener noreferrer"&gt;
        pandastack-io
      &lt;/a&gt; / &lt;a href="https://github.com/pandastack-io/riff" rel="noopener noreferrer"&gt;
        riff
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI App Builder - powered by pandastack.ai
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;⑂ Riff&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Prompt → a running full-stack app. Then fork it.&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Open-source, self-hostable Lovable / v0 / bolt — where every app runs in a real
Firecracker microVM, stays live forever for ~$0, and you can fork the running app
&lt;em&gt;and its database&lt;/em&gt; to explore variations in parallel.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Describe an app. Riff builds it and runs it live on a real microVM in about a
second. Then — the part nothing else can do — &lt;strong&gt;fork the running app into N live
variations, compare them side by side, and keep the one you like.&lt;/strong&gt; Each branch is
a genuine isolated VM (with its own cloned Postgres), not a browser tab.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why Riff exists&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Lovable, v0, and bolt are closed SaaS, and every one of them hits the same walls:&lt;/p&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Their wall&lt;/th&gt;
&lt;th&gt;How Riff removes it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Toy/ephemeral backends (browser sandboxes, WebContainers)&lt;/td&gt;
&lt;td&gt;Real Firecracker &lt;strong&gt;microVMs&lt;/strong&gt; — any framework, real servers, background jobs, &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pandastack-io/riff" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Open-source sandboxes for AI agents and code execution.</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 01 Sep 2026 05:47:57 +0000</pubDate>
      <link>https://dev.to/pandastack/open-source-sandboxes-for-ai-agents-and-code-execution-3iha</link>
      <guid>https://dev.to/pandastack/open-source-sandboxes-for-ai-agents-and-code-execution-3iha</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pandastack-io" rel="noopener noreferrer"&gt;
        pandastack-io
      &lt;/a&gt; / &lt;a href="https://github.com/pandastack-io/pandastack-ai" rel="noopener noreferrer"&gt;
        pandastack-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open-source sandboxes for AI agents and code execution.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/pandastack-io/pandastack-ai/logos/pandastack-tile.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fpandastack-io%2Fpandastack-ai%2FHEAD%2Flogos%2Fpandastack-tile.svg" width="96" alt="PandaStack logo"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;PandaStack&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;Open-source Firecracker microVM sandboxes and managed PostgreSQL, self-hosted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/pandastack-io/pandastack-ai/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/798509b4df525f56802b56f8096862487f08023e3d7561c68656f8dab10d0d6e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4170616368652d2d322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://github.com/pandastack-io/pandastack-ai/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/pandastack-io/pandastack-ai/actions/workflows/ci.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;
&lt;a href="https://github.com/pandastack-io/pandastack-ai/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/33e74c294c16abe6e8368d36c0853ba41f01b7c762fc3639a00b58a734c871d2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f70616e6461737461636b2d696f2f70616e6461737461636b2d61693f7374796c653d736f6369616c" alt="GitHub stars"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;60-second quickstart&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/pandastack-io/pandastack-ai
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; pandastack-ai
bash scripts/mac-local-e2e.sh
open http://localhost:3000&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Create a sandbox from the local API:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;curl -sS http://localhost:8080/v1/sandboxes \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;Authorization: Bearer pds_local_dev_token&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;Content-Type: application/json&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -d &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;{"template":"base"}&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Exec a command in it:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;curl -sS http://localhost:8080/v1/sandboxes/&lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;id&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt;/exec \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;Authorization: Bearer pds_local_dev_token&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;Content-Type: application/json&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt; \
  -d &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;{"cmd":"echo","args":["hello"]}&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;PandaStack is two things on one control plane: &lt;strong&gt;disposable Firecracker microVM
sandboxes&lt;/strong&gt; for AI agents and untrusted code, and &lt;strong&gt;managed PostgreSQL 16&lt;/strong&gt;
instances that run in microVMs of their own.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Firecracker microVM sandboxes with strong process and kernel isolation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed PostgreSQL 16 databases (Beta)&lt;/strong&gt; — a real, durable database in its own microVM, with a native &lt;code&gt;postgres://&lt;/code&gt; URL in seconds, continuous WAL archiving, and restore-based failover onto a healthy…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pandastack-io/pandastack-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>We made a cold start take 164 milliseconds</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 01 Sep 2026 05:22:44 +0000</pubDate>
      <link>https://dev.to/pandastack/we-made-a-cold-start-take-164-milliseconds-2afm</link>
      <guid>https://dev.to/pandastack/we-made-a-cold-start-take-164-milliseconds-2afm</guid>
      <description>&lt;p&gt;Vercel Fluid works to avoid the cold start — pre-warming and sharing instances so you rarely hit one. We took the other path: scale fully to zero — the sandbox is deleted — then thaw a frozen microVM in the time it takes to read this sentence.&lt;/p&gt;


&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://www.pandastack.ai/thaw/" 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%2Fwww.pandastack.ai%2Flogo.svg" height="240" class="m-0" width="240"&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://www.pandastack.ai/thaw/" rel="noopener noreferrer" class="c-link"&gt;
            Introducing Thaw — sub-second cold restore · PandaStack
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            A frozen microVM, thawed in ~164ms. True scale-to-zero ($0 idle) and a sub-second cold restore — and the engineering behind it.
          &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%2Fwww.pandastack.ai%2Ffavicon.svg" width="240" height="240"&gt;
          pandastack.ai
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Learn how AI Agent sandboxes are shaping the world</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 01 Sep 2026 05:21:50 +0000</pubDate>
      <link>https://dev.to/pandastack/learn-how-ai-agent-sandboxes-are-shaping-the-world-45cf</link>
      <guid>https://dev.to/pandastack/learn-how-ai-agent-sandboxes-are-shaping-the-world-45cf</guid>
      <description>&lt;p&gt;AI agents are moving beyond chat. They’re writing code, running commands, using browsers, and working with real systems.&lt;/p&gt;

&lt;p&gt;But where do you safely let an AI run code it generated itself?&lt;/p&gt;

&lt;p&gt;That’s what we’re building with PandaStack — isolated Linux sandboxes for AI agents, powered by Firecracker microVMs.&lt;/p&gt;

&lt;p&gt;Give every agent its own environment to experiment, execute, break things, and start fresh.&lt;/p&gt;

&lt;p&gt;If you're building coding agents, browser agents, or AI developer tools, take a look:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://pandastack.ai" rel="noopener noreferrer"&gt;https://pandastack.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still early, but I think this infrastructure will become a pretty important part of the agent ecosystem.&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #AIAgents #DevTools #CloudComputing
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>How we made a cold start take 164ms — introducing Thaw</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 23 Jun 2026 10:02:17 +0000</pubDate>
      <link>https://dev.to/pandastack/how-we-made-a-cold-start-take-164ms-introducing-thaw-3424</link>
      <guid>https://dev.to/pandastack/how-we-made-a-cold-start-take-164ms-introducing-thaw-3424</guid>
      <description>&lt;p&gt;Every scale-to-zero platform makes the same trade. Scale to zero and you pay nothing while idle — but the next request eats a cold start. Keep something warm and the cold start disappears — but now you're paying for idle capacity. For a decade that's basically been the whole conversation: &lt;em&gt;how do you avoid making a user wait while a machine starts up?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We took a different swing at it. Instead of avoiding the cold start, we made it cheap. On our app-hosting platform, an idle app gets its entire microVM deleted — CPU, RAM, disk, all freed, genuinely zero. And when a request comes in, we &lt;strong&gt;thaw a frozen Firecracker microVM back to life in about 164 milliseconds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the story of how — including the part where an earlier version of the idea caused a nasty production incident, which turned out to be the most important thing that happened, because it dictated the entire safe design.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A note on honesty: the numbers here are ours, measured on our production fleet (Firecracker, kernel 6.17). I'll show you exactly what we measured. Anything I say about other platforms is from their public docs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The two numbers that started it
&lt;/h2&gt;

&lt;p&gt;Before any of this, a scaled-to-zero app on our platform woke by &lt;strong&gt;cold-booting&lt;/strong&gt; from a baked disk image: pull the multi-gigabyte image, boot the kernel, run init, start the app, wait for it to bind its port. Measured end to end, that was about &lt;strong&gt;54 seconds&lt;/strong&gt; (≈26s image pull, ≈8s boot, ≈20s app start). It's honest — $0 while idle — but 54 seconds is a long time to stare at a spinner.&lt;/p&gt;

&lt;p&gt;The other number we already had was &lt;strong&gt;64 milliseconds.&lt;/strong&gt; That's how long it takes us to restore a baked Firecracker memory snapshot for a base template — the same path that gives our sandboxes a sub-200ms create with no warm pool.&lt;/p&gt;

&lt;p&gt;A restore is not a boot. The kernel is already up. Init has already run. The process is already in memory. You're mapping a frozen machine back into existence, not building one from scratch.&lt;/p&gt;

&lt;p&gt;So the question wrote itself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;App wake was 54 seconds because it was a &lt;strong&gt;boot&lt;/strong&gt;. Snapshot restore was 64 milliseconds because it &lt;strong&gt;wasn't&lt;/strong&gt;. What would it take to make app wake a restore?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why we couldn't just snapshot apps already
&lt;/h2&gt;

&lt;p&gt;Because we'd tried something like it, and it bit us. Hard.&lt;/p&gt;

&lt;p&gt;An earlier version captured a memory snapshot of a running app. The app would sleep, wake, serve perfectly for the smoke test… and then start throwing filesystem I/O errors &lt;strong&gt;hours later.&lt;/strong&gt; Green deploy, healthy checks, and then &lt;code&gt;EXT4-fs error&lt;/code&gt; in the logs long after anyone was watching.&lt;/p&gt;

&lt;p&gt;The cause is worth stating precisely, because it's the reason Thaw is shaped the way it is.&lt;/p&gt;

&lt;p&gt;A Firecracker memory snapshot captures RAM — and RAM includes the kernel's &lt;strong&gt;page cache&lt;/strong&gt;, the in-memory copy of disk blocks the guest has touched. Our snapshot recorded a &lt;em&gt;pointer&lt;/em&gt; to the rootfs, not its bytes. Sleep then deleted that rootfs. On wake we restored the frozen page cache &lt;strong&gt;over a blank template disk.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a while everything served from RAM and looked fine. The instant the guest had to read a block that wasn't cached — or flush a dirty one back — it hit a disk that no longer matched what memory believed was there. Corruption. Hours after a passing smoke test.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vm.mem (frozen page cache)  ──points at──►  rootfs.ext4  ← DELETED
                                              │
                                              ▼
                                       blank template disk
                                              │
                                  first uncached read ──► EXT4-fs error
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The lesson wasn't "snapshots are dangerous." It was sharper than that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A memory snapshot and the disk underneath it are a &lt;strong&gt;matched pair&lt;/strong&gt;. Restore the memory over a &lt;em&gt;different&lt;/em&gt; disk and you've built a machine that lies to itself.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every decision in Thaw exists to make that mismatch impossible.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Thaw works
&lt;/h2&gt;

&lt;p&gt;Two halves: &lt;strong&gt;when we bake the seed&lt;/strong&gt;, and &lt;strong&gt;what the restore lands on.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The bake: one atomic pause, app stopped
&lt;/h3&gt;

&lt;p&gt;We don't bake the seed at deploy time. We bake it the &lt;strong&gt;first time the app goes idle&lt;/strong&gt; — which is the perfect moment, because the app is doing nothing and the sandbox is about to be deleted anyway.&lt;/p&gt;

&lt;p&gt;Inside the guest, first we &lt;strong&gt;stop the app process and delete its env file.&lt;/strong&gt; Then, under a &lt;em&gt;single atomic pause&lt;/em&gt;, we capture three things from one frozen instant:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;vm.mem&lt;/code&gt; — the memory image (~2 GB)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vm.state&lt;/code&gt; — CPU + device state&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;clone.ext4&lt;/code&gt; — a byte-for-byte copy of &lt;strong&gt;that exact disk&lt;/strong&gt; (~10 GB)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two properties fall out of that ordering, and both matter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The app is stopped before the snapshot.&lt;/strong&gt; So the memory we capture has no in-flight request, no half-held mutex, no live socket — and crucially, &lt;strong&gt;no plaintext secrets&lt;/strong&gt; (the env file is already gone). It's a quiesced, secret-free machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The disk copy happens inside the same pause as the memory snapshot.&lt;/strong&gt; So the RAM and the disk come from the &lt;em&gt;identical instant&lt;/em&gt;. They cannot drift, because there was no time between them in which anything could change.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a "seed" — a complete, frozen microVM, in a few files.&lt;/p&gt;

&lt;h3&gt;
  
  
  The restore: onto the seed's own disk, never a template
&lt;/h3&gt;

&lt;p&gt;On wake we restore over the seed's &lt;strong&gt;own&lt;/strong&gt; byte-identical disk — the copy taken during that pause — gated by a SHA-256 hash. &lt;strong&gt;Never a fresh template clone.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the exact line the old incident violated, and making it structurally impossible is the entire point. The frozen page cache in the restored memory is now sitting over precisely the disk it was cached from. There's nothing for it to lie about.&lt;/p&gt;

&lt;p&gt;Then we hand off to a &lt;strong&gt;fresh process.&lt;/strong&gt; The app was stopped in the seed, so on restore we re-deliver the environment (including any secrets that &lt;em&gt;rotated&lt;/em&gt; while the app was asleep — they're applied at wake, never frozen into the snapshot) and start the app as a brand-new process on the now-warm machine. Before routing a single request to it, a liveness gate does a write → &lt;code&gt;fsync&lt;/code&gt; → read round-trip — forcing a real disk touch. If memory and disk were ever going to disagree, that's where it surfaces, and we fall back rather than serve corruption.&lt;/p&gt;

&lt;p&gt;So Thaw is explicitly &lt;strong&gt;not&lt;/strong&gt; "resurrect your exact running process mid-request." We're deliberately not doing that — it's where the danger lives. Thaw is: &lt;em&gt;restore a warm, coherent machine in milliseconds, then start a clean process on it.&lt;/em&gt; The speed of a snapshot with the safety of a cold boot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we measured
&lt;/h2&gt;

&lt;p&gt;Here's the part that matters. We ran a real Node HTTP app through the full lifecycle on production — deploy, idle, the seed bake on first sleep, delete the sandbox, then a request to wake it — and measured the wake end to end.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;THAW WAKE  (real Node app, production, kernel 6.17)
  wall time:   164 ms
  boot_mode:   snapshot-natid          # a restore, not a boot
  boot_ms:     123
  app says:    THAW_OK marker=&amp;lt;survived&amp;gt;  who=&amp;lt;rotated env&amp;gt;  pid=&amp;lt;new&amp;gt;
  ext4 errors: 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every property we designed for showed up in that one HTTP response:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;164 ms wall&lt;/strong&gt; — confirmed a &lt;em&gt;restore&lt;/em&gt; by the boot mode, not a cold boot.&lt;/li&gt;
&lt;li&gt;A marker we'd written to disk &lt;strong&gt;before&lt;/strong&gt; the bake survived the delete-and-restore — proof the restore landed on the seed's own coherent disk.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;new process ID&lt;/strong&gt; — fresh process, not a resurrected one.&lt;/li&gt;
&lt;li&gt;The environment was the &lt;strong&gt;rotated&lt;/strong&gt; value applied at wake, not the stale one frozen at deploy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero ext4 errors&lt;/strong&gt; — the incident class that haunted the first attempt is, this time, structurally absent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From 54 seconds to 164 milliseconds. That's not an optimization; it's a different mechanism. The 54-second path &lt;em&gt;built&lt;/em&gt; a machine. The 164ms path &lt;em&gt;unfroze&lt;/em&gt; one.&lt;/p&gt;

&lt;h2&gt;
  
  
  "But it's distributed" — the part that almost broke it
&lt;/h2&gt;

&lt;p&gt;Our first end-to-end test on the real fleet… didn't thaw. It cold-booted in ~15s. Confusing, because the mechanism clearly worked in isolation.&lt;/p&gt;

&lt;p&gt;The reason: a seed is ~13 GB, so the first version kept it &lt;strong&gt;local to the node that baked it.&lt;/strong&gt; But a request can wake an app on &lt;em&gt;any&lt;/em&gt; node. If the scheduler placed the wake on a different node than the one holding the seed — which, with load-spreading, is most of the time — there was no seed there, so it fell back to the cold-boot path.&lt;/p&gt;

&lt;p&gt;The fix was to replicate the seed through object storage: on bake, upload it; on a wake that lands on a seed-less node, pull it before restoring. The nice surprise was the size. A 13 GB seed is mostly a 10 GB rootfs that's mostly &lt;em&gt;zeros&lt;/em&gt;, so a sparse tar + zstd compresses it down hard:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;seed.tar.zst in object storage:  756,451,291 bytes  →  721 MiB   (~18× smaller)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So the storage math is far gentler than the on-disk 13 GB suggests — and it's &lt;strong&gt;per app, not per deploy&lt;/strong&gt; (a new deploy invalidates and purges the old seed, since a seed that froze old code is worthless). 10,000 hibernated apps is on the order of ~7 TB of object storage, not the hundreds of TB the raw number implies. A node-local LRU cap keeps each box's working set bounded; object storage is the durable backstop, with a TTL to reap genuinely abandoned seeds.&lt;/p&gt;

&lt;p&gt;After replication landed, a cross-host wake thawed cleanly (&lt;code&gt;boot_mode=snapshot-natid&lt;/code&gt;, &lt;code&gt;boot_ms=68&lt;/code&gt;) — the seed pulled from storage, then restored. Every wake thaws now, regardless of which node it lands on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is even possible
&lt;/h2&gt;

&lt;p&gt;Thaw isn't a clever trick layered on top of containers. It falls out of the substrate.&lt;/p&gt;

&lt;p&gt;A container can't be frozen to a coherent file and thawed — it shares the host kernel, so there's no self-contained machine state to snapshot. A Firecracker microVM &lt;strong&gt;is&lt;/strong&gt; a complete machine: its own guest kernel, its own memory, its own virtual disk. That's exactly what makes it freezable. The same property that gives a microVM stronger isolation than a container is the property that lets it cold-restore in milliseconds.&lt;/p&gt;

&lt;p&gt;You don't get Thaw on a substrate that was never a real machine in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thaw vs. "stay warm"
&lt;/h2&gt;

&lt;p&gt;It's worth being precise about how this compares to the popular alternative — keeping an instance warm (Vercel's Fluid compute is the most polished version; their docs describe pre-warming, bytecode caching, and sharing one instance across concurrent invocations, billed on active CPU).&lt;/p&gt;

&lt;p&gt;That approach is genuinely good: under steady traffic you essentially never hit a cold start, because the instance is already there. It &lt;em&gt;works to avoid&lt;/em&gt; the cold start.&lt;/p&gt;

&lt;p&gt;Thaw bets on the substrate instead. Because a microVM freezes to a file and thaws in milliseconds, we don't keep anything warm to hide the cold start — we make the cold start cheap enough to stop hiding it. The sandbox is deleted while idle, so there's nothing to run or bill. It shines for the long tail: previews, side projects, agent sandboxes — the things that are idle most of the time and need to be instant the moment someone shows up.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One works to avoid the cold start. The other makes the cold start fast — and goes all the way to zero.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The honest footnotes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;very first&lt;/strong&gt; wake after each deploy still takes the cold-boot path (no seed baked yet); every wake after the first idle is the sub-second thaw.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;cross-host first wake&lt;/strong&gt; pays a one-time seed pull from object storage (seconds) before it thaws; that node then has it cached.&lt;/li&gt;
&lt;li&gt;We deliberately don't resurrect in-flight state. "Thaw" is a fast warm machine + a fresh process, not time travel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. A frozen microVM, thawed back in about the time it took you to read this sentence. We call it &lt;strong&gt;Thaw&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Addiction of AI</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 19 May 2026 12:41:55 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/addiction-of-ai-3dio</link>
      <guid>https://dev.to/ajay_kumar_devops/addiction-of-ai-3dio</guid>
      <description>&lt;p&gt;In the past 5 months, I have created 4 complex projects, but I still keep thinking about how I can create more and what else I can build, because AI can now do so many things. Every new idea feels possible. Instead of slowing down after finishing one project, I immediately move to the next challenge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sometimes it feels less like motivation and more like an addiction to creating&lt;/strong&gt;. AI has removed many traditional barriers, so the limit is no longer technical skill alone — it’s imagination, execution, and focus. The more I build, the more opportunities I see around me.&lt;/p&gt;

&lt;p&gt;So far I have:&lt;br&gt;
&lt;/p&gt;
&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://pandastack.io/" 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%2Fpandastack.io%2Flogo.png" height="126" class="m-0" width="140"&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://pandastack.io/" rel="noopener noreferrer" class="c-link"&gt;
            PandaStack — Deploy Everything, Everywhere
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Deploy static sites, containers, databases, cron jobs, and edge functions — all from GitHub. PandaStack is the all-in-one cloud platform for developers.
          &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%2Fpandastack.io%2Flogo.png" width="140" height="126"&gt;
          pandastack.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&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://sandflare.io/" 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%2Fwww.sandflare.io%2Fog-image.png" height="420" 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://sandflare.io/" rel="noopener noreferrer" class="c-link"&gt;
            Sandflare — The runtime for AI agents · by Pandastack
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Give your coding agents a real Linux environment — ready in under 1 seconds.
          &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%2Fsandflare.io%2Ffavicon.png" width="140" height="126"&gt;
          sandflare.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&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://growdeck.ai/" 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%2Fgrowdeck.ai%2Fog-image.png" height="421" class="m-0" width="799"&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://growdeck.ai/" rel="noopener noreferrer" class="c-link"&gt;
            Autonomous SEO Engine | GrowDeck
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            GrowDeck is an autonomous SEO engine that crawls your site, generates landing pages, and deploys them automatically.
          &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%2Fgrowdeck.ai%2Ffavicon.ico%3Ffavicon.0x3dzn~oxb6tn.ico" width="256" height="256"&gt;
          growdeck.ai
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pandastack-io" rel="noopener noreferrer"&gt;
        pandastack-io
      &lt;/a&gt; / &lt;a href="https://github.com/pandastack-io/pandaflow" rel="noopener noreferrer"&gt;
        pandaflow
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open source AI agent visual workflow builder. Build, connect, and run AI agents with 160+ nodes. Powered by Sandflare.io isolated microVM execution.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;PandaFlow&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Open source AI agent visual workflow builder by &lt;a href="https://pandastack.io" rel="nofollow noopener noreferrer"&gt;PandastackIO Inc.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/pandastack-io/pandaflow/./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667" alt="MIT License"&gt;&lt;/a&gt;
&lt;a href="https://github.com/pandastack-io/pandaflow" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/64ff9eddd4683072ff93e68c98939231aad2f00faffd7780057a6271f485a39b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d70616e6461737461636b2d2d696f25324670616e6461666c6f772d626c61636b3f6c6f676f3d676974687562" alt="GitHub"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Build, deploy, and orchestrate AI agents visually. Connect LLMs, databases, APIs, and code execution nodes on a drag-and-drop canvas. Powered by &lt;a href="https://sandflare.io" rel="nofollow noopener noreferrer"&gt;Sandflare.io&lt;/a&gt; isolated microVM execution.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;🎨 &lt;strong&gt;Visual Workflow Builder&lt;/strong&gt; — Drag-and-drop canvas powered by React Flow&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Isolated Code Execution&lt;/strong&gt; — Run Python, Node.js, Go, and Bash in &lt;a href="https://docs.sandflare.io/sandbox" rel="nofollow noopener noreferrer"&gt;Sandflare microVMs&lt;/a&gt; with &lt;a href="https://docs.sandflare.io/templates" rel="nofollow noopener noreferrer"&gt;browser automation&lt;/a&gt; support&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;160+ Nodes&lt;/strong&gt; — LLMs, databases, APIs, webhooks, transformations, and more&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Real-time Monitoring&lt;/strong&gt; — Live execution tracking via Server-Sent Events&lt;/li&gt;
&lt;li&gt;🔐 &lt;strong&gt;Secrets Management&lt;/strong&gt; — Encrypted per-organization secret store&lt;/li&gt;
&lt;li&gt;📋 &lt;strong&gt;Templates&lt;/strong&gt; — Pre-built multi-node workflow templates to get started fast&lt;/li&gt;
&lt;li&gt;🔌 &lt;strong&gt;Extensible&lt;/strong&gt; — Add custom nodes by extending the node registry&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech Stack&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Next.js 16, React 19, TypeScript, Tailwind CSS, shadcn/ui, React Flow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Next.js API Routes, Drizzle ORM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;PostgreSQL 16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache&lt;/td&gt;
&lt;td&gt;Redis 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://docs.sandflare.io" rel="nofollow noopener noreferrer"&gt;Sandflare&lt;/a&gt; microVMs (&lt;a href="https://docs.sandflare.io/templates/available#browser-agent" rel="nofollow noopener noreferrer"&gt;browser-agent&lt;/a&gt; + &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pandastack-io/pandaflow" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>lets roast your website</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Thu, 14 May 2026 09:49:53 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/lets-roast-your-website-4335</link>
      <guid>https://dev.to/ajay_kumar_devops/lets-roast-your-website-4335</guid>
      <description>&lt;p&gt;Lets roast your website and put your score in comments&lt;/p&gt;


&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://growdeck.ai/roast" 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%2Fgrowdeck.ai%2Fog%2Froast.png" height="400" 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://growdeck.ai/roast" rel="noopener noreferrer" class="c-link"&gt;
            Roast My SEO 🔥 - Free AI-Powered SEO Analysis | GrowDeck | GrowDeck
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Your SEO probably sucks. Get brutally honest feedback powered by AI. Free, instant results.
          &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%2Fgrowdeck.ai%2Ffavicon.ico%3Ffavicon.0x3dzn~oxb6tn.ico" width="256" height="256"&gt;
          growdeck.ai
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built an open-source visual AI agent builder — PandaFlow</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Mon, 11 May 2026 11:29:58 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/i-built-an-open-source-visual-ai-agent-builder-pandaflow-5cm0</link>
      <guid>https://dev.to/ajay_kumar_devops/i-built-an-open-source-visual-ai-agent-builder-pandaflow-5cm0</guid>
      <description>&lt;p&gt;If you've ever tried to wire up an AI agent — connecting an LLM to a database, a webhook, some Python code, and an API — you know how fast it becomes spaghetti.&lt;/p&gt;

&lt;p&gt;That's why I built PandaFlow (&lt;a href="https://github.com/pandastack-io/pandaflow" rel="noopener noreferrer"&gt;https://github.com/pandastack-io/pandaflow&lt;/a&gt;) — an open-source, drag-and-drop visual workflow builder for AI agents.&lt;/p&gt;

&lt;p&gt;What it does&lt;/p&gt;

&lt;p&gt;You connect nodes on a canvas. Each node can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An LLM call (GPT, Claude, etc.)&lt;/li&gt;
&lt;li&gt;Python / Node.js / Go / Bash code — running in isolated microVMs&lt;/li&gt;
&lt;li&gt;A database query, API call, or webhook trigger&lt;/li&gt;
&lt;li&gt;A transformation, condition, or template&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;160+ nodes out of the box. Real-time execution monitoring via SSE. Encrypted secrets per org.&lt;/p&gt;

&lt;p&gt;The stack&lt;/p&gt;

&lt;p&gt;Next.js 16 · React 19 · TypeScript · Drizzle ORM · PostgreSQL · Redis · React Flow · NextAuth v5&lt;/p&gt;

&lt;p&gt;Code runs in Sandflare.io (&lt;a href="https://sandflare.io" rel="noopener noreferrer"&gt;https://sandflare.io&lt;/a&gt;) microVMs — fully isolated, no shared runtimes.&lt;/p&gt;

&lt;p&gt;Run it locally in 5 commands&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/pandastack-io/pandaflow.git
&lt;span class="nb"&gt;cd &lt;/span&gt;pandaflow
npm &lt;span class="nb"&gt;install
cp&lt;/span&gt; .env.example .env.local   &lt;span class="c"&gt;# set SANDFLARE_API_KEY=mock-api-key for local dev&lt;/span&gt;
npm run db:migrate &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; — done. No cloud account needed.&lt;/p&gt;

&lt;p&gt;Why open source?&lt;/p&gt;

&lt;p&gt;Because AI agent tooling shouldn't be locked behind a SaaS paywall. PandaFlow is MIT licensed — self-host it, fork it, extend it.&lt;/p&gt;

&lt;p&gt;⭐ If this is useful to you, a star on GitHub goes a long way: github.com/pandastack-io/pandaflow (&lt;a href="https://github.com/pandastack-io/pandaflow" rel="noopener noreferrer"&gt;https://github.com/pandastack-io/pandaflow&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Contributions, issues, and ideas very welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>What is an AI Agent Runtime?</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Mon, 20 Apr 2026 11:00:28 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/what-is-an-ai-agent-runtime-c73</link>
      <guid>https://dev.to/ajay_kumar_devops/what-is-an-ai-agent-runtime-c73</guid>
      <description>&lt;p&gt;An AI Agent Runtime is the execution layer that bridges an LLM's decisions and real-world computation — providing isolated environments, tool execution, state management, and I/O handling so agents can act safely at scale.&lt;/p&gt;

&lt;p&gt;Read more at &lt;a href="https://sandflare.io/ai-agent-runtime" rel="noopener noreferrer"&gt;https://sandflare.io/ai-agent-runtime&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtool</category>
    </item>
    <item>
      <title>sandflare.io - AI Agent Sandboxes with 🧠</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 14 Apr 2026 04:45:27 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/sandflareio-ai-agentsandboxes-with-3hb2</link>
      <guid>https://dev.to/ajay_kumar_devops/sandflareio-ai-agentsandboxes-with-3hb2</guid>
      <description>&lt;p&gt;AI agents are getting more powerful.&lt;/p&gt;

&lt;p&gt;They can write code, browse the web, install dependencies, and automate workflows. But there's still one major problem:&lt;/p&gt;

&lt;p&gt;Where should these agents actually run?&lt;/p&gt;

&lt;p&gt;Most teams today either: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run code directly on their servers (unsafe)&lt;/li&gt;
&lt;li&gt;Use containers (slow to start, hard to manage)&lt;/li&gt;
&lt;li&gt;Use ephemeral sandboxes (lose context every time)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these are ideal for AI agents.&lt;/p&gt;

&lt;p&gt;So we built Sandflare.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://sandflare.io" rel="noopener noreferrer"&gt;https://sandflare.io&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I built a sandbox that boots an AI agent VM in ~300ms — here's how</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 31 Mar 2026 06:05:25 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/i-built-a-sandbox-that-boots-an-ai-agent-vm-in-300ms-heres-how-571e</link>
      <guid>https://dev.to/ajay_kumar_devops/i-built-a-sandbox-that-boots-an-ai-agent-vm-in-300ms-heres-how-571e</guid>
      <description>&lt;p&gt;If you've ever built an AI agent that runs code, you've hit the same wall I did:&lt;br&gt;
&lt;strong&gt;how do you run untrusted LLM-generated code safely, without it taking forever?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I tried Docker. Shared kernel — felt too risky for arbitrary code execution. I tried full VMs. Safe, but 5–10 second cold starts killed the UX.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://sandflare.io" rel="noopener noreferrer"&gt;Sandflare&lt;/a&gt;&lt;/strong&gt; — it uses Firecracker microVMs to launch isolated sandboxes in ~1-2s. Tweaked it further and its ~300ms now. Sandflare psql also launches in milliseconds. How wonderful is that.&lt;/p&gt;
&lt;h2&gt;
  
  
  How we get to ~300ms
&lt;/h2&gt;

&lt;p&gt;The trick is &lt;strong&gt;snapshot + restore with userfaultfd (UFFD)&lt;/strong&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Boot a VM once, fully configured&lt;/li&gt;
&lt;li&gt;Take a memory snapshot&lt;/li&gt;
&lt;li&gt;On every new sandbox request, restore from that snapshot&lt;/li&gt;
&lt;li&gt;Memory pages fault in &lt;strong&gt;on-demand&lt;/strong&gt; — the VM is responsive before it's fully loaded into RAM&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the same technique AWS uses internally. The result: consistent sub-400ms cold starts.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Sandflare actually does
&lt;/h2&gt;

&lt;p&gt;Beyond fast boots, I added the things I kept needing for agent workloads:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run code and stream output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sandflare&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;

&lt;span class="n"&gt;sb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;agent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nano&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;sb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;python3 analyse.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stdout&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Wire a Postgres database in one call:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sandflare&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Database&lt;/span&gt;

&lt;span class="n"&gt;db&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Database&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;memory&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Secret#42&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;sb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;agent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;sb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;wire&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# DATABASE_URL is now injected into the sandbox env
# your agent can just connect normally
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Upload files, download results:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upload&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csv_bytes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/home/agent/data.csv&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;download&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/home/agent/chart.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Real benchmark numbers
&lt;/h2&gt;

&lt;p&gt;Running from a GCP worker in the same region:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;run 1: 363ms
run 2: 292ms
run 3: 307ms
run 4: 303ms
run 5: 345ms

min:  292ms  |  mean: 322ms  |  p50: 307ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Who is this for?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coding agents&lt;/strong&gt; — give Claude/GPT a real sandbox to write and run code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI data analysis&lt;/strong&gt; — upload a CSV, run pandas, download the chart&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD pipelines&lt;/strong&gt; — clean isolated environment per run&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent pipelines&lt;/strong&gt; — multiple sandboxes sharing one Postgres DB&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Free tier: 10 sandboxes, no credit card.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://sandflare.io" rel="noopener noreferrer"&gt;sandflare.io&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📖 &lt;a href="https://docs.sandflare.io" rel="noopener noreferrer"&gt;docs.sandflare.io&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Would love to hear how you're handling code execution in your agent projects — and if anyone has pushed Firecracker cold starts below 200ms, I'm all ears!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>dev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I’m Trying to Build a Simple Ecosystem for Developers</title>
      <dc:creator>Ajay Kumar</dc:creator>
      <pubDate>Tue, 10 Mar 2026 12:02:40 +0000</pubDate>
      <link>https://dev.to/ajay_kumar_devops/im-trying-to-build-a-simple-ecosystem-for-developers-1b2j</link>
      <guid>https://dev.to/ajay_kumar_devops/im-trying-to-build-a-simple-ecosystem-for-developers-1b2j</guid>
      <description>&lt;p&gt;I’m Trying to Build a Simple Ecosystem for Developers&lt;/p&gt;

&lt;p&gt;Over the past few years I noticed something frustrating while building and managing applications.&lt;/p&gt;

&lt;p&gt;Every part of the developer workflow lives on a different platform.&lt;/p&gt;

&lt;p&gt;You might build your app using one tool, deploy it somewhere else, and monitor uptime using a completely different service.&lt;/p&gt;

&lt;p&gt;A typical stack ends up looking like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one platform for building&lt;/li&gt;
&lt;li&gt;one for deployments&lt;/li&gt;
&lt;li&gt;one for databases&lt;/li&gt;
&lt;li&gt;one for monitoring&lt;/li&gt;
&lt;li&gt;several dashboards to manage everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works, but it's fragmented. So I started working on something simpler.&lt;/p&gt;

&lt;p&gt;I’m trying to create a &lt;strong&gt;small ecosystem of developer tools&lt;/strong&gt; that work together across the entire lifecycle of an application.&lt;/p&gt;

&lt;p&gt;The idea is simple:  Build → Deploy → Monitor&lt;/p&gt;

&lt;p&gt;Here’s what that ecosystem currently looks like.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Build Applications with AI
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://pandastack.ai" rel="noopener noreferrer"&gt;https://pandastack.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pandastack.ai" rel="noopener noreferrer"&gt;https://pandastack.ai&lt;/a&gt; focuses on helping developers generate applications using AI. Its in preview phase. I used sandboxes for them and users can build frontend and backend both apps. &lt;/p&gt;




&lt;h2&gt;
  
  
  2. Deploy Applications and Services
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://pandastack.io" rel="noopener noreferrer"&gt;https://pandastack.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pandastack.io is the deployment platform.&lt;/p&gt;

&lt;p&gt;Developers can deploy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backend APIs&lt;/li&gt;
&lt;li&gt;full-stack applications&lt;/li&gt;
&lt;li&gt;Docker containers&lt;/li&gt;
&lt;li&gt;databases&lt;/li&gt;
&lt;li&gt;managed services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can connect a GitHub repository and deploy directly, or deploy containers and services manually.&lt;/p&gt;

&lt;p&gt;The goal is to provide &lt;strong&gt;deployment infrastructure without unnecessary complexity&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Monitor Uptime
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://pandawatch.io" rel="noopener noreferrer"&gt;https://pandawatch.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once applications are live, monitoring becomes essential.&lt;/p&gt;

&lt;p&gt;pandawatch.io is focused on uptime monitoring and reliability checks.&lt;/p&gt;

&lt;p&gt;Developers can monitor their services and detect downtime quickly.&lt;/p&gt;

&lt;p&gt;Features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;uptime checks&lt;/li&gt;
&lt;li&gt;status tracking&lt;/li&gt;
&lt;li&gt;downtime alerts&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Workflow
&lt;/h2&gt;

&lt;p&gt;Together, the tools create a simple developer pipeline:&lt;/p&gt;

&lt;p&gt;pandastack.ai → pandastack.io → pandawatch.io&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I'm Building This
&lt;/h2&gt;

&lt;p&gt;I’m not trying to replace every tool developers already use.&lt;/p&gt;

&lt;p&gt;The goal is simply to make the &lt;strong&gt;common workflow of building and running applications easier&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of stitching together multiple services, developers can move through the lifecycle with fewer moving parts.&lt;/p&gt;




&lt;h2&gt;
  
  
  I’d Love Feedback
&lt;/h2&gt;

&lt;p&gt;This ecosystem is still evolving, and feedback from developers is extremely helpful.&lt;/p&gt;

&lt;p&gt;If you'd like to explore it:&lt;/p&gt;

&lt;p&gt;Build apps with AI → &lt;a href="https://pandastack.ai" rel="noopener noreferrer"&gt;https://pandastack.ai&lt;/a&gt;&lt;br&gt;
Deploy applications → &lt;a href="https://pandastack.io" rel="noopener noreferrer"&gt;https://pandastack.io&lt;/a&gt;&lt;br&gt;
Monitor uptime → &lt;a href="https://pandawatch.io" rel="noopener noreferrer"&gt;https://pandawatch.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think or what you would improve.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>devops</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
