<?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: Yashraj Pardeshi</title>
    <description>The latest articles on DEV Community by Yashraj Pardeshi (@incyashraj).</description>
    <link>https://dev.to/incyashraj</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%2F4041171%2F5f5f266d-a20b-4316-ad1a-5defed4f9fca.jpg</url>
      <title>DEV Community: Yashraj Pardeshi</title>
      <link>https://dev.to/incyashraj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/incyashraj"/>
    <language>en</language>
    <item>
      <title>AI can make an app. Sharing it is still the hard part.</title>
      <dc:creator>Yashraj Pardeshi</dc:creator>
      <pubDate>Thu, 30 Jul 2026 07:54:56 +0000</pubDate>
      <link>https://dev.to/incyashraj/ai-can-make-an-app-sharing-it-is-still-the-hard-part-11pi</link>
      <guid>https://dev.to/incyashraj/ai-can-make-an-app-sharing-it-is-still-the-hard-part-11pi</guid>
      <description>&lt;p&gt;A while ago, I made a small Mac app called NoTabsConfusion. It highlights the windows I used most recently, and it saves me from opening the wrong window while I work.&lt;/p&gt;

&lt;p&gt;It was useful to me. Sharing it was the difficult part.&lt;/p&gt;

&lt;p&gt;I could give another developer the source code. I could pay for Apple's developer program and distribute a signed Mac app. But I could not simply send the tool to someone using Windows or Linux. Even on a Mac, the person receiving it would have to trust an app they did not write.&lt;/p&gt;

&lt;p&gt;AI makes this problem much bigger.&lt;/p&gt;

&lt;p&gt;People can now ask Claude for a grocery list, a habit tracker, or a tiny tool made for one specific job. Creating it may take minutes. Giving that app to another person is still a software distribution project.&lt;/p&gt;

&lt;p&gt;I am building Krate to test a simpler model: small apps should be shareable like documents.&lt;/p&gt;

&lt;p&gt;With Krate, Claude can create an app from one request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;krate create &lt;span class="s2"&gt;"Make a grocery list app with milk, eggs, and bread"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--agent&lt;/span&gt; claude &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--output&lt;/span&gt; groceries.krate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result is one &lt;code&gt;.krate&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;That same file opens locally on Mac, Windows, and Linux. Before any code runs, Krate shows what the app wants to access, such as a window, a folder, or the network. The user chooses, and the runtime gives the app only what was approved.&lt;/p&gt;

&lt;p&gt;What works today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude can create a Krate app from a plain request&lt;/li&gt;
&lt;li&gt;the result is one shareable file&lt;/li&gt;
&lt;li&gt;the same file opens on all three desktop operating systems&lt;/li&gt;
&lt;li&gt;permission choices are enforced by the runtime&lt;/li&gt;
&lt;li&gt;local app data survives closing and reopening&lt;/li&gt;
&lt;li&gt;the runtime, format, authoring tools, and MCP interface are open source&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Krate Cloud is the next product, not something I am claiming is already built.&lt;br&gt;
It will let people publish, find, share, and update these small apps while the&lt;br&gt;
apps continue to run locally under the same permission controls.&lt;/p&gt;

&lt;p&gt;Right now I care about the first user journey. I want to know whether someone who did not build Krate can make a small app, open it, understand the permission screen, and send the file to somebody else.&lt;/p&gt;

&lt;p&gt;If you use Claude Code, try making one small app and tell me the first point where the process becomes unclear or fails.&lt;/p&gt;

&lt;p&gt;Make an app:&lt;br&gt;
&lt;a href="https://incyashraj.github.io/krate/docs/pages/make-an-app-with-ai.html" rel="noopener noreferrer"&gt;https://incyashraj.github.io/krate/docs/pages/make-an-app-with-ai.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
&lt;a href="https://youtu.be/i1ksbR-kPgc" rel="noopener noreferrer"&gt;https://youtu.be/i1ksbR-kPgc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/incyashraj/krate" rel="noopener noreferrer"&gt;https://github.com/incyashraj/krate&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flb5tka5mf8htcy8yke5n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flb5tka5mf8htcy8yke5n.png" alt="Krate permission window showing a Checklist app requesting read and write access only to its checklist folder before opening" width="572" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>webassembly</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Every AI sandbox in 2026 runs in someone else's cloud</title>
      <dc:creator>Yashraj Pardeshi</dc:creator>
      <pubDate>Wed, 22 Jul 2026 05:45:30 +0000</pubDate>
      <link>https://dev.to/incyashraj/every-ai-sandbox-in-2026-runs-in-someone-elses-cloud-4log</link>
      <guid>https://dev.to/incyashraj/every-ai-sandbox-in-2026-runs-in-someone-elses-cloud-4log</guid>
      <description>&lt;p&gt;Modal published a comparison of the best code execution sandboxes for AI agents. Seven providers: Modal, E2B, Northflank, Daytona, Blaxel, Vercel Sandbox, Cloudflare Sandboxes.&lt;/p&gt;

&lt;p&gt;Every single one is cloud-hosted. Every single one isolates with containers or microVMs. Not one of them uses a capability-based permission model, and not one runs on the machine the developer is already sitting at.&lt;/p&gt;

&lt;p&gt;That is not a criticism of those products. They are good at what they do, and for most agent workloads the cloud is the right answer. But it means an entire half of the problem has no serious entrant, and I think that half matters more than it looks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The assumption nobody states
&lt;/h2&gt;

&lt;p&gt;Every one of those tools starts from the same premise: untrusted code should run far away from the user, in an environment that can be destroyed.&lt;/p&gt;

&lt;p&gt;That premise is correct for scale. It is wrong for a large and growing class of work, because the interesting things an agent does are usually about your stuff. Your files. Your local database. Your credentials. The application you are building right now. Ship that work to a remote microVM and you have to ship your context with it, which is either a security problem or a synchronization problem, and usually both.&lt;/p&gt;

&lt;p&gt;So you end up with two bad options. Run agent-written code in the cloud and lose access to the local context that made it useful. Or run it locally with ambient authority, which means a script that was supposed to rename some files can read your SSH keys, because on every mainstream operating system a process inherits everything you can do.&lt;/p&gt;

&lt;p&gt;Isolation solved the first problem. Nobody solved the second one, because the second one is not an isolation problem. It is a permission problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Container isolation and capability permission are different things
&lt;/h2&gt;

&lt;p&gt;A container answers: what machine is this code on?&lt;/p&gt;

&lt;p&gt;A capability answers: what is this specific code allowed to touch, right now, and who decided that?&lt;/p&gt;

&lt;p&gt;You can have excellent isolation and terrible permissions. A microVM with a container full of your credentials is a strong wall around a room where everything is unlocked. The wall stops the code escaping to the host. It does nothing about what the code does with what is already inside.&lt;/p&gt;

&lt;p&gt;The capability model inverts the default. Code starts with nothing. Not a restricted filesystem, not a read-only mount. Nothing. Then a specific grant is made for a specific resource, deliberately, by a human or a policy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;krate run &lt;span class="nt"&gt;--grant&lt;/span&gt; fs.read:./secrets.txt &lt;span class="nt"&gt;--manifest&lt;/span&gt; app.toml cat.wasm &lt;span class="nt"&gt;--&lt;/span&gt; ./secrets.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without that grant the same binary running the same code cannot open the file. It does not crash on a permission error deep in a syscall. It gets a structured denial: this capability was requested, it was not granted, here is the identity of the thing that was denied.&lt;/p&gt;

&lt;p&gt;That last part is the piece I think is underrated for agents. A generic &lt;code&gt;EACCES&lt;/code&gt; tells an agent that something went wrong. A structured denial tells it exactly which authority it lacks, which means it can ask for that specific thing, or route around it, or report to the user precisely what it needs and why. Failure becomes information instead of a dead end.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Krate is a runtime for that model. A program is one WebAssembly component in a single file. It runs natively on macOS, Windows and Linux, opening a real desktop window, not a bundled browser. It starts with zero ambient permissions and receives capabilities only through explicit grants.&lt;/p&gt;

&lt;p&gt;The demo application is 24 kilobytes. The same file, unmodified, runs on all three operating systems.&lt;/p&gt;

&lt;p&gt;Here it is running, end to end, in four minutes:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/RFefANqu0fc"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I want to be precise about what is and is not proven, because this space is full of claims.&lt;/p&gt;

&lt;p&gt;Every push to the repository triggers CI across all three operating systems. On all three, the component is built and executed and opens a real window. On Linux, CI goes further: it runs the app under Xvfb, uses xdotool to click the button, type into the text field and scroll the list, then photographs the screen and uploads the image as a build artifact.&lt;/p&gt;

&lt;p&gt;This screenshot was taken by a machine I have never touched, before I wrote this sentence:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz0nf4fgg9hb0p6a2ts2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz0nf4fgg9hb0p6a2ts2a.png" alt="The Krate demo app running on Linux under CI: a clicked button, the text " width="636" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The click-and-photograph step is Linux only today. macOS and Windows run the component and open real windows in the same CI run, but are not yet driven synthetically. Extending that is on the list.&lt;/p&gt;

&lt;p&gt;The other honest caveat: on macOS, widgets are real AppKit controls, genuine &lt;code&gt;NSButton&lt;/code&gt; and &lt;code&gt;NSTextField&lt;/code&gt;. On Linux and Windows the widgets are currently drawn through a shared rendering path rather than being native OS controls. The window is real on all three. The controls inside it are not equally native yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this shape, and why now
&lt;/h2&gt;

&lt;p&gt;Two things had to become true for this to be buildable at all.&lt;/p&gt;

&lt;p&gt;The WebAssembly Component Model matured to the point where one compiled artifact can carry typed interfaces across languages and hosts. That is what makes a single file legitimately portable rather than portable-if-you-squint.&lt;/p&gt;

&lt;p&gt;And AI started generating far more software than humans can review. That changes the economics of trust. When a person writes code and runs it, they have some idea what it does. When an agent writes it, nobody has read it, and the honest position is that you do not know. Ambient authority was always a bad default. It becomes an untenable one at machine-generated volume.&lt;/p&gt;

&lt;p&gt;Neither curve produces this on its own. The intersection does.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am not claiming
&lt;/h2&gt;

&lt;p&gt;Krate is not a replacement for cloud sandboxes. If you are running ten thousand concurrent agent tasks, you want microVMs and a control plane, and you should use one of the seven products above.&lt;/p&gt;

&lt;p&gt;It is also early. There is no SDK yet, the developer experience is rough, and the honest state of it is in &lt;a href="https://github.com/incyashraj/krate/blob/main/STATUS.md" rel="noopener noreferrer"&gt;STATUS.md&lt;/a&gt; rather than in a marketing page.&lt;/p&gt;

&lt;p&gt;What I am claiming is narrower: local execution with a real permission boundary is a missing primitive, the entire market has been building the other half, and a portable component format with capabilities attached is a plausible shape for the missing piece.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you build agents
&lt;/h2&gt;

&lt;p&gt;The question I actually want answered: if you were routing agent-generated code through something like this, what capability would you need first that does not exist yet?&lt;/p&gt;

&lt;p&gt;That answer is worth more to me than a star. The repo is public, the CI evidence is in the Actions log, and my DMs are open.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/incyashraj/krate" rel="noopener noreferrer"&gt;github.com/incyashraj/krate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Original post on my site: &lt;a href="https://incyashraj.github.io/krate/blog/0002-every-sandbox-is-cloud.html" rel="noopener noreferrer"&gt;incyashraj.github.io/krate&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webassembly</category>
      <category>ai</category>
      <category>rust</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
