<?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: Oryn</title>
    <description>The latest articles on DEV Community by Oryn (@oryn).</description>
    <link>https://dev.to/oryn</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%2F4017288%2F80767f1e-874b-424c-ad87-9d776c289e51.png</url>
      <title>DEV Community: Oryn</title>
      <link>https://dev.to/oryn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oryn"/>
    <language>en</language>
    <item>
      <title>I built a desktop AI coding agent that runs 100% offline with Ollama</title>
      <dc:creator>Oryn</dc:creator>
      <pubDate>Mon, 06 Jul 2026 08:10:21 +0000</pubDate>
      <link>https://dev.to/oryn/i-built-a-desktop-ai-coding-agent-that-runs-100-offline-with-ollama-4b3b</link>
      <guid>https://dev.to/oryn/i-built-a-desktop-ai-coding-agent-that-runs-100-offline-with-ollama-4b3b</guid>
      <description>&lt;p&gt;I'm a solo developer with a full-time job and a family, and for the last several months I've been building an AI coding tool in the cracks of my day — early mornings, late nights, weekends. It's called &lt;strong&gt;Oryn&lt;/strong&gt;, and I want to share why I built it and how it works, because the two decisions at its core might resonate with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The itch
&lt;/h2&gt;

&lt;p&gt;Two things bugged me about the AI coding tools I was using:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;My code went to someone else's cloud, and I paid a markup for the privilege.&lt;/strong&gt; Every request routed through a vendor, wrapped in their pricing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything was a subscription.&lt;/strong&gt; Another monthly fee here, another there.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wanted something that (a) let me use my &lt;em&gt;own&lt;/em&gt; model — my own API key, or a model running entirely on my machine — and (b) that I could pay for &lt;em&gt;once&lt;/em&gt;. So I built it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Oryn is a desktop app for Windows. You open a project folder and describe what you want in plain English:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Add a login page to my app with email + password and client-side validation."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It then runs an agent loop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reads&lt;/strong&gt; the relevant files to understand your codebase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plans&lt;/strong&gt; the steps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writes and edits&lt;/strong&gt; files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runs&lt;/strong&gt; commands and tests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verifies&lt;/strong&gt; its own work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…pausing for your approval on each change if you want (manual mode), or running straight through (auto mode). Every step is visible — you can stop it, skip a step, or jump into the built-in editor and take over at any point.&lt;/p&gt;

&lt;p&gt;Here's a real, unedited 2-minute run building a working app from a single sentence: &lt;a href="https://youtu.be/D1utnumMAlo" rel="noopener noreferrer"&gt;https://youtu.be/D1utnumMAlo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The two bets
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Bring your own model — or go fully local.&lt;/strong&gt;&lt;br&gt;
Plug in your own key (Claude / GPT / Gemini / Groq) and pay the provider directly, no markup from me. Or — the part I'm proudest of — run it &lt;strong&gt;100% local with Ollama.&lt;/strong&gt; No key, no cloud, nothing leaves your machine. For a lot of day-to-day work (refactors, boilerplate, tests) a local model is plenty, and it's private and free to run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. One-time price.&lt;/strong&gt; Pay once. No subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it's built (for the curious)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Electron + React + TypeScript, with a Monaco-based editor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; a bundled service that runs locally (bound to 127.0.0.1) and handles agent orchestration, file tools, terminal, git, and provider routing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The agent loop&lt;/strong&gt; is a plan → act → verify cycle with tool calls (file read/write, shell, git). Manual approval is a gate in front of every mutating tool call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local models&lt;/strong&gt; run through Ollama; cloud models go directly from your machine to the provider using your own key.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What was hard (the honest part)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Making the agent stop at the right moment.&lt;/strong&gt; Early versions would happily "fix" things I didn't ask for. Adding a visible plan + per-step approval solved both the trust problem and the runaway problem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The local path is a balancing act.&lt;/strong&gt; Local models are great for many tasks but still trail frontier cloud models on long multi-step reasoning. Letting you switch per task, instead of forcing one choice, was the answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shipping a desktop app solo is a grind&lt;/strong&gt; — packaging, signing, auto-updates, licensing. None of it is glamorous and all of it matters.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it / tell me I'm wrong
&lt;/h2&gt;

&lt;p&gt;There's a 7-day free trial, no card: &lt;strong&gt;&lt;a href="https://oryneye.com" rel="noopener noreferrer"&gt;https://oryneye.com&lt;/a&gt;&lt;/strong&gt; . It's a paid product (one-time, no subscription) — saying that up front so nobody feels baited.&lt;/p&gt;

&lt;p&gt;I'd genuinely love feedback, especially:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How does the &lt;strong&gt;local Ollama&lt;/strong&gt; path feel on your setup?&lt;/li&gt;
&lt;li&gt;Where does the agent loop break for you?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a solo dev, honest criticism is the most useful thing I can get. Thanks for reading. 🙏&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
