<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>vibecoding &amp;mdash; Nat Knight</title>
    <link>http://natknight.xyz/tag:vibecoding</link>
    <description>Reflections, diversions, and opinions from a progressive ex-physicist programmer dad with a sore back.</description>
    <pubDate>Tue, 02 Jun 2026 11:50:34 -0700</pubDate>
    <item>
      <title>The value is in the pieces</title>
      <link>http://natknight.xyz/the-value-is-in-the-pieces</link>
      <description>&lt;![CDATA[#vibecoding #opensource #thanks&#xA;&#xA;A little while ago I found myself wanting a very particular minimal text editor—something approximating the UI of iA writer but with 1% of its features and no monthly subscription. I tried a few different products, tried tinkering with the configuration VS Code and Helix, but nothing was exactly what I wanted.&#xA;&#xA;Being a hip, with-it software guy I knew I could get an LLM to put together a custom text editor for me, and eventually I did, but the process was illuminating.&#xA;&#xA;!--more--&#xA;&#xA;My first thought was to make a TUI. I’m in the terminal a lot anyways, and what could be more minimal than a text-based text editor? I fired up a Rust project and kicked the tires on some TUI libraries. Once I was satisfied that I had some good primitive’s I set my agent to the task.&#xA;&#xA;It did not end well. I had a plausible looking editor in no time, but it turns out text editing is really hard. Text flow, line breaking, and making the cursor feel smooth were all persistent challenges, and as soon as I fixed one problem some new flavour of jank crept in. I eventually gave up on this approach.&#xA;&#xA;Luckily, I’m not the only person who wants smooth text editing. I knew there must be a library that could handle the mechanics of writing. Perhaps I could build around that?&#xA;&#xA;This avenue proved much more fruitful. There are lots of tools for packaging “web” code as a native app (I chose Tauri]), LLMs can sling CSS and TypeScript well enough, and [CodeMirror continues to be a gem. I pretty quickly had something good enough: it had the UI I wanted, it felt smooth and snappy to use, and the code was compact enough that I could review it easily. I named it [Proser] and threw it on GitHub for good measure. I’ve been using it ever since.&#xA;&#xA;[tehyt]: https://lord.io/text-editing-hates-you-too/&#xA;&#xA;[codemirror]: https://natknight.xyz/replace-a-textarea-with-codemirror-in-30-lines-of-code-and-30-minutes&#xA;&#xA;[Tauri]: https://github.com/tauri-apps/tauri&#xA;&#xA;[Proser]: https://github.com/nathanielknight/proser&#xA;&#xA;So what did I learn?&#xA;&#xA;Identifying the core of what you need is always the hardest problem, even when you&#39;re scratching your own itch.&#xA;A good open source library is a precious thing.&#xA;Finding components for LLMs to combine is a really, really good way to make stuff. &#xA;&#xA;LLMs feel like magic. But they can’t touch the deeper magic that smart, passionate human beings will do the hard, endless work of solving a problem, wrapping the solution in a clean interface with good docs, and then give it to the world as a gift. May peace, health, prosperity and wellbeing be upon such generous people.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://natknight.xyz/tag:vibecoding" class="hashtag"><span>#</span><span class="p-category">vibecoding</span></a> <a href="http://natknight.xyz/tag:opensource" class="hashtag"><span>#</span><span class="p-category">opensource</span></a> <a href="http://natknight.xyz/tag:thanks" class="hashtag"><span>#</span><span class="p-category">thanks</span></a></p>

<p>A little while ago I found myself wanting a very particular minimal text editor—something approximating the UI of <a href="https://ia.net/writer">iA writer</a> but with 1% of its features and no monthly subscription. I tried a few different products, tried tinkering with the configuration VS Code and Helix, but nothing was exactly what I wanted.</p>

<p>Being a hip, with-it software guy I knew I could get an LLM to put together a custom text editor for me, and eventually I did, but the process was illuminating.</p>



<p>My first thought was to make a TUI. I’m in the terminal a lot anyways, and what could be more minimal than a text-based text editor? I fired up a Rust project and kicked the tires on some TUI libraries. Once I was satisfied that I had some good primitive’s I set my agent to the task.</p>

<p>It did not end well. I had a plausible looking editor in no time, but it turns out text editing is <a href="https://lord.io/text-editing-hates-you-too/">really hard</a>. Text flow, line breaking, and making the cursor feel smooth were all persistent challenges, and as soon as I fixed one problem some new flavour of jank crept in. I eventually gave up on this approach.</p>

<p>Luckily, I’m not the only person who wants smooth text editing. I knew there must be a library that could handle the mechanics of writing. Perhaps I could build around that?</p>

<p>This avenue proved much more fruitful. There are lots of tools for packaging “web” code as a native app (I chose <a href="https://github.com/tauri-apps/tauri">Tauri</a>), LLMs can sling CSS and TypeScript well enough, and <a href="https://natknight.xyz/replace-a-textarea-with-codemirror-in-30-lines-of-code-and-30-minutes">CodeMirror</a> continues to be a gem. I pretty quickly had something good enough: it had the UI I wanted, it felt smooth and snappy to use, and the code was compact enough that I could review it easily. I named it <a href="https://github.com/nathanielknight/proser">Proser</a> and threw it on GitHub for good measure. I’ve been using it ever since.</p>

<p>So what did I learn?</p>
<ul><li>Identifying the core of what you need is always the hardest problem, even when you&#39;re scratching your own itch.</li>
<li>A good open source library is a precious thing.</li>
<li>Finding components for LLMs to combine is a really, really good way to make stuff.</li></ul>

<p>LLMs feel like magic. But they can’t touch the deeper magic that smart, passionate human beings will do the hard, endless work of solving a problem, wrapping the solution in a clean interface with good docs, and then give it to the world as a gift. May peace, health, prosperity and wellbeing be upon such generous people.</p>
]]></content:encoded>
      <guid>http://natknight.xyz/the-value-is-in-the-pieces</guid>
      <pubDate>Sat, 28 Mar 2026 21:53:07 +0000</pubDate>
    </item>
  </channel>
</rss>