<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Arman Ghevondyan · Blog</title>
    <link>https://armanghev.com/blog</link>
    <description>Notes by Arman Ghevondyan on building developer tools, AI infrastructure, and full-stack products.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 20 Oct 2026 12:00:00 GMT</lastBuildDate>
    <atom:link href="https://armanghev.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>From Noteably to Onsen: rebuilding my first app idea</title>
      <link>https://armanghev.com/blog/from-noteably-to-onsen</link>
      <guid isPermaLink="true">https://armanghev.com/blog/from-noteably-to-onsen</guid>
      <description>My first app was an AI study buddy I overengineered into the ground. Onsen is the rebuild, and its waitlist is open today.</description>
      <pubDate>Tue, 20 Oct 2026 12:00:00 GMT</pubDate>
      <category>onsen</category>
      <category>personal</category>
    </item>
    <item>
      <title>What source-available means for orchestrat</title>
      <link>https://armanghev.com/blog/source-available</link>
      <guid isPermaLink="true">https://armanghev.com/blog/source-available</guid>
      <description>orchestrat is public under the Elastic License 2.0. What that lets you do, the one thing it rules out, and why I picked a license that leaves room for hosted plans later.</description>
      <pubDate>Fri, 16 Oct 2026 12:00:00 GMT</pubDate>
      <category>orchestrat</category>
      <category>licensing</category>
      <category>self-hosting</category>
    </item>
    <item>
      <title>Where my homelab starts</title>
      <link>https://armanghev.com/blog/starting-a-homelab</link>
      <guid isPermaLink="true">https://armanghev.com/blog/starting-a-homelab</guid>
      <description>Two tiny single-board computers, a microSD card that hasn&apos;t shown up yet, and the plan for a 10-inch rack on my desk.</description>
      <pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate>
      <category>homelab</category>
      <category>self-hosting</category>
      <category>pai</category>
    </item>
    <item>
      <title>Giving an AI my bank balance, carefully</title>
      <link>https://armanghev.com/blog/pai-and-plaid</link>
      <guid isPermaLink="true">https://armanghev.com/blog/pai-and-plaid</guid>
      <description>How Pai connects to my bank and brokerage through Plaid without being able to move a cent, hides every number behind a spoiler, and keeps money away from the model by default.</description>
      <pubDate>Mon, 12 Oct 2026 12:00:00 GMT</pubDate>
      <category>pai</category>
      <category>plaid</category>
      <category>security</category>
    </item>
    <item>
      <title>Teaching Pai to read Canvas</title>
      <link>https://armanghev.com/blog/pai-and-canvas</link>
      <guid isPermaLink="true">https://armanghev.com/blog/pai-and-canvas</guid>
      <description>How Pai turns Canvas into a study plan that fits around a work shift, tells me exactly what changed, and learns how long my work really takes.</description>
      <pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate>
      <category>pai</category>
      <category>canvas</category>
      <category>agents</category>
    </item>
    <item>
      <title>An owl that keeps my week together</title>
      <link>https://armanghev.com/blog/pai</link>
      <guid isPermaLink="true">https://armanghev.com/blog/pai</guid>
      <description>Why I built Pai, a Telegram assistant that plans study time around a full-time job, sends the reminders I&apos;d forget, and stays read-only around anything that matters.</description>
      <pubDate>Sun, 11 Oct 2026 12:00:00 GMT</pubDate>
      <category>pai</category>
      <category>agents</category>
      <category>claude</category>
    </item>
    <item>
      <title>How I build with AI agents</title>
      <link>https://armanghev.com/blog/how-i-build-with-ai-agents</link>
      <guid isPermaLink="true">https://armanghev.com/blog/how-i-build-with-ai-agents</guid>
      <description>Plans before prompts, a worktree for every piece of work, Codex and Claude Code running side by side, and a list of everything that hasn&apos;t been tested yet.</description>
      <pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate>
      <category>agents</category>
      <category>workflow</category>
      <category>process</category>
    </item>
    <item>
      <title>I deleted every .env file on my laptop</title>
      <link>https://armanghev.com/blog/deleting-my-env-files</link>
      <guid isPermaLink="true">https://armanghev.com/blog/deleting-my-env-files</guid>
      <description>Why I built Envy, a macOS app and CLI that keeps secrets in the Keychain and hands them to your commands based on the folder you&apos;re in.</description>
      <pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate>
      <category>envy</category>
      <category>security</category>
      <category>developer-tools</category>
    </item>
    <item>
      <title>Two agents, one task</title>
      <link>https://armanghev.com/blog/two-agents-one-task</link>
      <guid isPermaLink="true">https://armanghev.com/blog/two-agents-one-task</guid>
      <description>Why I built orchestrat, a shared workspace where coding agents claim work, talk to each other and hand off tasks, and the problem it still can&apos;t fully solve.</description>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <category>orchestrat</category>
      <category>agents</category>
      <category>mcp</category>
    </item>
    <item>
      <title>The happy path is the least interesting thing to test</title>
      <link>https://armanghev.com/blog/testing-ai-failure-paths</link>
      <guid isPermaLink="true">https://armanghev.com/blog/testing-ai-failure-paths</guid>
      <description>Real AI providers make it hard to test rate limits, malformed tool calls, and broken streams. So I built Mock AI API, a local stand-in that fails on purpose.</description>
      <pubDate>Tue, 06 Oct 2026 12:00:00 GMT</pubDate>
      <category>mock-ai-api</category>
      <category>testing</category>
      <category>ai</category>
    </item>
    <item>
      <title>One port for every model</title>
      <link>https://armanghev.com/blog/one-port-for-every-model</link>
      <guid isPermaLink="true">https://armanghev.com/blog/one-port-for-every-model</guid>
      <description>Why I put a local control plane between my AI tools and their providers, and what it takes to translate between OpenAI and Anthropic request formats in both directions.</description>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <category>modelport</category>
      <category>ai</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Hi, I&apos;m Arman</title>
      <link>https://armanghev.com/blog/hello-im-arman</link>
      <guid isPermaLink="true">https://armanghev.com/blog/hello-im-arman</guid>
      <description>An accidental HTML file, years of tkinter games and a couple of tries at C# and C++, and then October 2023, when I stopped messing around and started learning properly.</description>
      <pubDate>Sat, 03 Oct 2026 12:00:00 GMT</pubDate>
      <category>about</category>
      <category>personal</category>
    </item>
  </channel>
</rss>
