# Software

Source: https://gofranz.com/software/

<div class="swindex">
  <p class="swintro">Apps, libraries, CLIs and tools I've built and put on GitHub — mostly Rust. The polished ones have a page here; the rest link straight to their repo, where the README and versions actually live.</p>

  <div class="sw-rowlabel"><span class="bar"></span>Apps &amp; tools · with a page here</div>
  <ul class="swlist">
    
    
    <li>
      <a href="/software/guix-rs/">
        <span class="n">guix-rs</span>
        <span class="d">Desktop GUI for GNU Guix — search, install, upgrade and reconfigure, no terminal. Built in Rust on Iced; ships the libguix crate. GPL-3.0.</span>
        <span class="m">Rust</span>
        <span class="go">details &rarr;</span>
      </a>
    </li>
    
    <li>
      <a href="/software/stackpit/">
        <span class="n">Stackpit</span>
        <span class="d">Self-hosted, Sentry-compatible error tracking. Single binary, single SQLite file, no external dependencies. MIT.</span>
        <span class="m">Rust</span>
        <span class="go">details &rarr;</span>
      </a>
    </li>
    
    <li>
      <a href="/software/forseti/">
        <span class="n">Forseti</span>
        <span class="d">Self-service UI & OAuth2 login / consent bridge for Ory Kratos + Hydra. Server-rendered in Rust. AGPL-3.0.</span>
        <span class="m">Rust</span>
        <span class="go">details &rarr;</span>
      </a>
    </li>
    
    <li>
      <a href="/software/iced-webview/">
        <span class="n">iced_webview</span>
        <span class="d">Embed web views in iced apps — pick a rendering engine (litehtml, Blitz, Servo or CEF), drop a widget in your view. A Rust library. Apache-2.0.</span>
        <span class="m">Rust</span>
        <span class="go">details &rarr;</span>
      </a>
    </li>
    
  </ul>

  <div class="sw-rowlabel"><span class="bar"></span>Libraries · on GitHub</div>
  <ul class="swlist">
    
    
    <li>
      <a href="https://github.com/franzos/ledger-iota-rs" rel="noopener">
        <span class="n">ledger-iota-rs</span>
        <span class="d">Rust library for talking to the IOTA app on Ledger hardware wallets.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/lettermint-rs" rel="noopener">
        <span class="n">lettermint-rs</span>
        <span class="d">Lettermint API client for Rust.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/litehtml-rs" rel="noopener">
        <span class="n">litehtml-rs</span>
        <span class="d">Rust bindings for litehtml, a lightweight HTML/CSS rendering engine.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/nostr-ts" rel="noopener">
        <span class="n">nostr-ts</span>
        <span class="d">Nostr protocol libraries for web and Node, plus a React/Node client.</span>
        <span class="m">TypeScript</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/polymail-rs" rel="noopener">
        <span class="n">polymail-rs</span>
        <span class="d">Send email through Postmark, Lettermint or SendGrid behind one Rust API.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/tradedoc-rs" rel="noopener">
        <span class="n">tradedoc-rs</span>
        <span class="d">Generate trade PDFs — invoices, receipts, packing slips and the like.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/world-shipping-rs" rel="noopener">
        <span class="n">world-shipping-rs</span>
        <span class="d">Calculate worldwide shipping rates offline.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/world-tax-rs" rel="noopener">
        <span class="n">world-tax-rs</span>
        <span class="d">Calculate worldwide sales-tax rates offline.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
  </ul>

  <div class="sw-rowlabel"><span class="bar"></span>Command-line tools &amp; daemons · on GitHub</div>
  <ul class="swlist">
    
    
    <li>
      <a href="https://github.com/franzos/envstash" rel="noopener">
        <span class="n">envstash</span>
        <span class="d">Manage .env files across git branches — versioning, diffing and optional encryption.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/guix-install" rel="noopener">
        <span class="n">guix-install</span>
        <span class="d">A command-line installer for Guix (guix, nonguix, panther) with sane defaults.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/podman-healthcheckd" rel="noopener">
        <span class="n">podman-healthcheckd</span>
        <span class="d">Schedules Podman healthchecks without relying on systemd timers.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/shelf" rel="noopener">
        <span class="n">shelf</span>
        <span class="d">A CLI for cataloguing files by metadata-driven rules.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/tku" rel="noopener">
        <span class="n">tku</span>
        <span class="d">Token-usage CLI for Claude Code, Codex and other coding agents.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/vatic" rel="noopener">
        <span class="n">vatic</span>
        <span class="d">A TOML-configured AI agent framework — scheduled or message-triggered LLM jobs.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
    <li>
      <a href="https://github.com/franzos/vpnmux" rel="noopener">
        <span class="n">vpnmux</span>
        <span class="d">Keeps Mullvad and Tailscale from fighting at the netfilter/DNS layer.</span>
        <span class="m">Rust</span>
        <span class="go">&#8599; github</span>
      </a>
    </li>
    
  </ul>
</div>
