<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Rust on Techformist</title>
    <link>https://techformist.com/tags/rust/</link>
    <description>Recent content in Rust on Techformist</description>
    <image>
      <url>https://techformist.com/logo.svg</url>
      <link>https://techformist.com/logo.svg</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 03 Jan 2026 06:30:00 +0000</lastBuildDate><atom:link href="https://techformist.com/tags/rust/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Pexand - A Simple and Free Text Expander</title>
      <link>https://techformist.com/pexand-simple-free-text-expander/</link>
      <pubDate>Sat, 03 Jan 2026 06:30:00 +0000</pubDate>
      
      <guid>https://techformist.com/pexand-simple-free-text-expander/</guid>
      <description>&lt;p&gt;After years of building web apps where &amp;ldquo;performance&amp;rdquo; means a 2-second LCP and &amp;ldquo;local storage&amp;rdquo; is a suggestion, I have taken the last 2-3 months to explore how the desktop ecosystem has changed. Since I don&amp;rsquo;t like opening browsers masquerading as an app all the time, Rust and specifically Tauri looked great.&lt;/p&gt;
&lt;p&gt;However I did lean back on AI coding a lot more with my latest project - &lt;strong&gt;Pexand&lt;/strong&gt;. I wanted to try how much can I like the core desktop app building experience that I have not delved into for sometime.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After years of building web apps where &ldquo;performance&rdquo; means a 2-second LCP and &ldquo;local storage&rdquo; is a suggestion, I have taken the last 2-3 months to explore how the desktop ecosystem has changed. Since I don&rsquo;t like opening browsers masquerading as an app all the time, Rust and specifically Tauri looked great.</p>
<p>However I did lean back on AI coding a lot more with my latest project - <strong>Pexand</strong>. I wanted to try how much can I like the core desktop app building experience that I have not delved into for sometime.</p>
<p>Pexand a text expander. It&rsquo;s written in Rust. And it&rsquo;s gloriously, unapologetically &ldquo;dumb.&rdquo;</p>
<h2 id="the-sentinel-is-watching">The &ldquo;Sentinel&rdquo; is Watching</h2>
<p>Most modern apps want to know your location, your mother&rsquo;s maiden name, and your favorite flavor of cloud storage. Pexand just wants to know if you typed <code>;shrug</code>.</p>
<p>The app just monitors key strokes and upon finding a pattern replaces the abbreviation with an expanded form. While the core design suggestions were by multiple AI agents, I did try to make the app blow up here and there.</p>
<p>The way it works is interesting -</p>
<ol>
<li>A background thread called the <strong>Sentinel</strong> sits in the background, quietly monitoring your keystrokes using Windows hooks, waiting for a trigger.</li>
<li>When the sentinel sees one, it reaches into a <strong>Radix Trie</strong> (because O(m) lookup is the only way to live) and swaps your shortcut for the real deal in under 5ms.</li>
</ol>
<p>And.. that&rsquo;s it.</p>
<p>Here&rsquo;s what it looks like.</p>
<p><img loading="lazy" src="/2026/pexand-text-expander-home.png" type="" alt="pexand-ui-screenshot"  /></p>
<h2 id="why-build-another-text-expander">Why build another text expander?</h2>
<ul>
<li><strong>Cloud Fatigue:</strong> I don&rsquo;t want my snippets synced to a server in Singapore. I want them in a local SQLite database that I own.</li>
<li><strong>The &ldquo;Dumb&rdquo; Factor:</strong> No AI. No &ldquo;smart&rdquo; suggestions. No collaboration features. Just: I type <code>;addr</code>, it gives me my address.</li>
<li><strong>Rust:</strong> Honestly? I just wanted to see if I could make a GUI app in Rust without losing my mind.</li>
</ul>
<h2 id="the-tech-stack">The Tech Stack</h2>
<p>Building a native Windows app in 2026 feels like a superpower with AI coding.</p>
<ul>
<li><strong>Iced:</strong> The GUI framework uses the Elm Architecture, which means state management did not actually make sense to me. But, something new for sure - no more &ldquo;is this component re-rendering because of a ghost prop?&rdquo;</li>
<li><strong>SQLite:</strong> Every snippet lives in a local <code>.db</code> file. It&rsquo;s ACID compliant, fast, and portable. If I want to move my snippets, I just move the file. I could also export / import snippets - just saying.</li>
<li><strong>Radix Trie:</strong> This was most unfamiliar to me. Instead of looping through a list of snippets every time you press a key, the app traverses a tree. It&rsquo;s fast!</li>
</ul>
<p>I deliberately chose a tech stack that I had been putting away for sometime now. AI coding makes everything fast - even making terrible mistakes.</p>
<p>I was surprised and dismayed at the same time on how coding agents have evolved and helped through the process. That&rsquo;s a story for another day.</p>
<h2 id="features-for-the-minimalist">Features for the Minimalist</h2>
<ul>
<li><strong>Dynamic Variables:</strong> Use <code>{{date}}</code> or <code>{{clipboard}}</code> to inject context on the fly.</li>
<li><strong>App Filtering:</strong> Want expansion in VS Code but not in your terminal? Just blacklist it.</li>
<li><strong>Fuzzy Search:</strong> The &ldquo;Dashboard&rdquo; (summoned with <code>Ctrl+Alt+Shift+P</code>) lets you find snippets even if you only remember half the trigger.</li>
</ul>
<h2 id="conclusion">Conclusion</h2>
<p>Pexand isn&rsquo;t going to change the world. It&rsquo;s not a &ldquo;platform.&rdquo; It&rsquo;s a tool.</p>
<p>It&rsquo;s for the people who still appreciate a single <code>.exe</code> that does one thing and one thing.. uh, better than average. Or, it&rsquo;s only for me, because I&rsquo;m tired of copying and pasting from Notepad++ every time.</p>
<p>Check out the code, or download the binary and start being efficiently lazy:
<a href="https://github.com/techformist/pexand">https://github.com/techformist/pexand</a></p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
