<?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: Pavel Sich</title>
    <description>The latest articles on DEV Community by Pavel Sich (@pavel_sich).</description>
    <link>https://dev.to/pavel_sich</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%2F2574236%2Fdce069de-404d-4226-b6e2-e59d9f687a42.jpg</url>
      <title>DEV Community: Pavel Sich</title>
      <link>https://dev.to/pavel_sich</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pavel_sich"/>
    <language>en</language>
    <item>
      <title>Building a code editor inside itself, with AI agents writing every line</title>
      <dc:creator>Pavel Sich</dc:creator>
      <pubDate>Tue, 03 Nov 2026 06:34:05 +0000</pubDate>
      <link>https://dev.to/pavel_sich/building-a-code-editor-inside-itself-with-ai-agents-writing-every-line-47hb</link>
      <guid>https://dev.to/pavel_sich/building-a-code-editor-inside-itself-with-ai-agents-writing-every-line-47hb</guid>
      <description>&lt;p&gt;I'm Pavel, a developer in Prague. Around October 28, 2026 I launched Edit (&lt;a href="https://rustedit.dev" rel="noopener noreferrer"&gt;https://rustedit.dev&lt;/a&gt;), an agentic code editor written in Rust. It is free for now. This post is about how it was made, because the process is the unusual part: AI agents wrote all of the code, and Edit was built in Edit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Edit is
&lt;/h2&gt;

&lt;p&gt;Edit has two faces. One is a GPU-drawn desktop app. The other is a Rust terminal UI that runs in any terminal, with window docking and syntax highlighting. Both share the same idea: the editor and the coding agent should live in one place, and working with the agent should feel like using an IDE, not reading a log.&lt;/p&gt;

&lt;p&gt;The AI Assistant does not ship its own model wrapper. It runs the command-line coding agents developers already use: Claude Code, Cursor Agent and Codex. Edit's job is to make working with them pleasant.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bootstrap problem
&lt;/h2&gt;

&lt;p&gt;A tool that is built in itself has an obvious chicken-and-egg problem. Early on, the editor has to be just good enough to host the agent that will improve it. From that point, every rough edge I hit while directing agents became the next task. If something annoyed me while working, I was the first user to feel it, and it went straight back into the backlog.&lt;/p&gt;

&lt;p&gt;My role changed from writing code to deciding what to build, describing it clearly, reviewing what the agents produced, and testing it by using it. The agents wrote the Rust. They also built the website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lesson one: agent output should be something you act on
&lt;/h2&gt;

&lt;p&gt;Coding agents reply in Markdown. In a plain terminal that means reading around raw asterisks and hash signs. One of the first things the agents built was rendering: in Edit's terminal, agent replies arrive formatted, with headings, lists, tables and code blocks.&lt;/p&gt;

&lt;p&gt;Formatting was only half of it. Agents often end a reply with numbered options: "Should I do 1, 2 or 3?" In Edit those options become rows you can pick, either with a click or by pressing 1 to 9. That sounds small, but when you spend the whole day steering agents, it removes a lot of typing.&lt;/p&gt;

&lt;p&gt;You can also select and copy any line of a reply. When the agent produces a command or a path, you grab it directly instead of fighting the terminal's own selection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lesson two: settings matter when agents do the work
&lt;/h2&gt;

&lt;p&gt;When agents write everything, how they are allowed to work matters as much as what they write. The composer has a model menu grouped by model, with the effort level and a Fast toggle inside, so switching between a careful run and a quick one is one choice instead of a long list.&lt;/p&gt;

&lt;p&gt;Agent Settings collects the controls I kept needing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt;: the instructions agents can use for particular kinds of tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autopick Skills&lt;/strong&gt;: more on this below.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run Commands Without Asking&lt;/strong&gt;: for when you trust the task and want fewer interruptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use MCP Servers&lt;/strong&gt;: whether the agent can reach your MCP tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sandbox&lt;/strong&gt;: limiting what the agent can touch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Being able to change these quickly made it practical to let agents take on bigger pieces of the editor while keeping risky work contained.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lesson three: skills only help if the right ones are used
&lt;/h2&gt;

&lt;p&gt;Skills are useful, but there is a catch. Once you have more than a handful installed, you stop remembering which one fits the task in front of you. The agent may not pick it up either.&lt;/p&gt;

&lt;p&gt;So I came up with Autopick Skills. When it is on, Edit automatically picks the right skills for the task, so each prompt goes to the agent with the skills that fit it. I invented it for Edit, and as far as I know no other agentic system has it. In practice it meant the agents building Edit got the relevant guidance without me attaching it by hand every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What working this way felt like
&lt;/h2&gt;

&lt;p&gt;A few honest observations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Review is the real work.&lt;/strong&gt; Agents produce code fast. Deciding whether it is right, and whether it is what you meant, is where my time went.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dogfooding is relentless.&lt;/strong&gt; Since I used Edit to build Edit all day, every bug was personal. That pushed quality up faster than any checklist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear descriptions beat clever prompts.&lt;/strong&gt; The better I described the behavior I wanted, the less back-and-forth followed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The tool shapes the process.&lt;/strong&gt; Features like pickable options and skill autopicking came from friction I felt while directing agents, not from a roadmap.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Edit runs as a GPU app or in any terminal, works with Claude Code, Cursor Agent and Codex, and is free for now. If you try it, I'd especially like to hear how Autopick Skills works for your setup and what feels missing in the terminal UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rustedit.dev" rel="noopener noreferrer"&gt;https://rustedit.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>ai</category>
      <category>devtools</category>
      <category>terminal</category>
    </item>
    <item>
      <title>I built DreamDwell: one phone photo in, a finished listing or campaign out</title>
      <dc:creator>Pavel Sich</dc:creator>
      <pubDate>Sun, 25 Oct 2026 09:47:43 +0000</pubDate>
      <link>https://dev.to/pavel_sich/i-built-dreamdwell-one-phone-photo-in-a-finished-listing-or-campaign-out-3klg</link>
      <guid>https://dev.to/pavel_sich/i-built-dreamdwell-one-phone-photo-in-a-finished-listing-or-campaign-out-3klg</guid>
      <description>&lt;p&gt;A photoshoot costs €1,500 to €5,000 and takes weeks. Most people skip it and post phone photos.&lt;/p&gt;

&lt;p&gt;I'm Pavel Sich, a founder based in Prague. In September 2026 I launched &lt;a href="https://dreamdwellapp.com" rel="noopener noreferrer"&gt;DreamDwell&lt;/a&gt; to fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Good photos sell homes and products. But real estate agents, small brands and architects rarely have the budget or the time for a shoot. Stock photos don't help, because they never show your actual room or product.&lt;/p&gt;

&lt;h2&gt;
  
  
  The solution
&lt;/h2&gt;

&lt;p&gt;You upload one phone photo of a room, a product or an outfit. DreamDwell cleans it, stages it, relights it and animates it. You download finished stills and short video clips.&lt;/p&gt;

&lt;p&gt;What you can make:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Listing Glow-Up&lt;/strong&gt;: phone photos in, every room cleaned and furnished in one matching style, ready for the MLS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Photo Compliance&lt;/strong&gt;: flags faces, license plates, signs and address-revealing window views. You pick what to blur or remove.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Archviz Studio&lt;/strong&gt;: a SketchUp or massing render becomes a photoreal still, in any weather or season, plus a video clip.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Product photography&lt;/strong&gt;: packshot, lifestyle, flatlay, close-up, concept and in-hand shots from a single upload.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fashion campaigns&lt;/strong&gt;: pick a dressed model and a few locations, get the campaign set back the same day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dream Chat&lt;/strong&gt;: attach a photo, say what you want, and the agent picks the tools, runs them and writes the copy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No design or AI experience needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  For developers: the Agent Command API
&lt;/h2&gt;

&lt;p&gt;This is the part I think dev.to will care about. Everything in the studios is also available over HTTP and MCP, so agents and automations can use it.&lt;/p&gt;

&lt;p&gt;A human creates the account and mints a personal token under Profile → API tokens. There is no programmatic sign-up, on purpose: a person decides which agents may spend their credits.&lt;/p&gt;

&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://dreamdwellapp.com/api/v1/commands &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$DREAMDWELL_TOKEN&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Prefer: wait=60"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "command": "media.render",
    "input": {
      "source_url": "https://example.com/massing.jpg",
      "preset": "archviz.photoreal",
      "prompt": "golden hour, wet pavement"
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get back &lt;code&gt;{ "job_id", "status" }&lt;/code&gt;. Archviz jobs are queued, so poll &lt;code&gt;GET /api/v1/jobs/{id}&lt;/code&gt; until &lt;code&gt;succeeded&lt;/code&gt; or &lt;code&gt;failed&lt;/code&gt;. Swap the preset to &lt;code&gt;media.edit&lt;/code&gt; for a free-form prompt on any source image; that one completes in the same request.&lt;/p&gt;

&lt;p&gt;Other useful bits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;GET /api/v1/catalog&lt;/code&gt; returns every command, preset and current credit cost as JSON Schema. Call it first.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;POST /mcp&lt;/code&gt; is a JSON-RPC MCP endpoint with one tool per catalog command.&lt;/li&gt;
&lt;li&gt;Tokens have daily caps (defaults: 20 images/day, 200 credits/day, 2 concurrent jobs). HTTP 402 means an empty wallet, 429 means a quota was hit.&lt;/li&gt;
&lt;li&gt;Every public page has a Markdown twin: add &lt;code&gt;.md&lt;/code&gt; to the path, or start at &lt;code&gt;/llms.txt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full docs: &lt;a href="https://dreamdwellapp.com/platform/agent-command-api.md" rel="noopener noreferrer"&gt;dreamdwellapp.com/platform/agent-command-api.md&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Simple credits that roll over, no per-seat fee:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start: €15/month, 500 credits&lt;/li&gt;
&lt;li&gt;Builder: €79/month, 3,500 credits (roughly 83 standard images)&lt;/li&gt;
&lt;li&gt;Professional: €179/month, 10,000 credits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your first month of Builder is €39 with code &lt;strong&gt;FAMILY39&lt;/strong&gt;. We're a family, not a VC deck.&lt;/p&gt;

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

&lt;p&gt;Upload a photo at &lt;a href="https://dreamdwellapp.com" rel="noopener noreferrer"&gt;dreamdwellapp.com&lt;/a&gt;, or point your agent at the API. I'd love blunt feedback in the comments: what would you upload first, and what's missing from the API?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>showdev</category>
      <category>api</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
