<?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: Botir Bakhtiyarov</title>
    <description>The latest articles on DEV Community by Botir Bakhtiyarov (@botirbakhtiyarov).</description>
    <link>https://dev.to/botirbakhtiyarov</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%2F657154%2F8173ddc6-a6c7-4fe3-94f6-ab21cf2db61d.jpeg</url>
      <title>DEV Community: Botir Bakhtiyarov</title>
      <link>https://dev.to/botirbakhtiyarov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/botirbakhtiyarov"/>
    <language>en</language>
    <item>
      <title>I wanted a JARVIS for my terminal. Here's what I actually built.</title>
      <dc:creator>Botir Bakhtiyarov</dc:creator>
      <pubDate>Mon, 14 Sep 2026 19:26:47 +0000</pubDate>
      <link>https://dev.to/botirbakhtiyarov/i-wanted-a-jarvis-for-my-terminal-heres-what-i-actually-built-104k</link>
      <guid>https://dev.to/botirbakhtiyarov/i-wanted-a-jarvis-for-my-terminal-heres-what-i-actually-built-104k</guid>
      <description>&lt;p&gt;I grew up watching Iron Man, so when I started this project the working name wasn't ORION, it was JARVIS. Obviously. I only changed it later because half of YouTube and Instagram is full of devs building their own "JARVIS" right now and I didn't want to be one more thumbnail in that pile.&lt;/p&gt;

&lt;p&gt;But the name was never really the point. The point was two things I kept running into with every AI assistant I tried.&lt;/p&gt;

&lt;p&gt;First, I live in the terminal. I don't want a browser tab, I don't want a desktop app, I don't want to click anything. If I'm going to talk to something every day it has to be where I already am.&lt;/p&gt;

&lt;p&gt;Second, almost every "personal AI" project I saw was welded to one provider. OpenAI, or Claude, pick your poison. I didn't want that. I wanted to be able to run this thing on DeepSeek, on Claude, on GPT, on Gemini, or on a local Ollama model, or even on one of the newer Chinese open-source LLMs, and just switch whenever I felt like it.&lt;/p&gt;

&lt;p&gt;So that's what ORION is. Terminal-only, no UI, memory in Obsidian, works on your code, doesn't care which model is behind it.&lt;/p&gt;

&lt;h2&gt;
  
  
  It worked great, right up until it didn't
&lt;/h2&gt;

&lt;p&gt;The first version of the memory system was dumb in the good way — simple and it just worked. Ask something, ORION searches the vault, pulls in whatever's relevant. Day one, it already felt useful.&lt;/p&gt;

&lt;p&gt;Where it fell apart was the writing side. My first idea was: every exchange becomes a note. Question, answer, saved to the vault. More notes = more memory, that was the logic.&lt;/p&gt;

&lt;p&gt;Except it wasn't. A week in, my vault was full of junk. Dozens of near-identical notes like "user asked about X, I said Y," most of which nobody would ever want to read again. It stopped feeling like a second brain and started feeling like a chat log someone dumped into my notes folder. Nothing was technically broken, it just wasn't good.&lt;/p&gt;

&lt;p&gt;Honestly this is the part that ate most of my time on the whole project. Not the terminal interface, not wiring up five different model providers — the memory. Getting it to actually behave like something with judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Teaching it what NOT to write down
&lt;/h2&gt;

&lt;p&gt;The fix wasn't a smarter prompt or a bigger model, it was accepting that the model has to make a call on every exchange: is this worth keeping, or not.&lt;/p&gt;

&lt;p&gt;Roughly, it looks like this now — during a conversation ORION is quietly checking whether something is worth persisting (a fact, a decision, something I'll want next week) or whether it's just noise that shouldn't touch the vault at all. If it decides yes, it writes a proper note with frontmatter and links to related notes. If not, nothing gets written, it just stays in that conversation's working memory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;each exchange -&amp;gt; is this durable knowledge or just noise?
  yes -&amp;gt; write a linked note
  no  -&amp;gt; keep it in working memory only, skip the vault

end of session -&amp;gt; write ONE summary note for the whole session
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The other piece that came out of this, almost by accident: when I close a session, ORION now writes a single summary note of what happened in that session. Not every message — just the gist. Next time I open the terminal it can read that note and pick up roughly where we left off, instead of me re-explaining context from zero, which was the exact problem I built this thing to avoid in the first place.&lt;/p&gt;

&lt;p&gt;I didn't plan that feature. It fell out of fixing the "too many notes" mess.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;p&gt;If I'm honest, I should have designed the "what deserves to be remembered" logic before I wrote any storage code, not after my vault was already a mess I had to clean up. Retrofitting judgment into something built to log everything is a lot more annoying than just building it in from day one. If you're building anything with agent memory — don't start with "store everything, sort it later." You'll regret it, I promise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it's at
&lt;/h2&gt;

&lt;p&gt;ORION is open source, MIT license, still early. DeepSeek by default, but Claude/GPT/Gemini/local Ollama all work too. The memory system above is the part I'm most proud of and also the part I'd love feedback on, because I don't think there's one correct answer to "what should an AI remember about you."&lt;/p&gt;

&lt;p&gt;Repo's here if you want to poke at the code or try it:&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/BotirBakhtiyarov/orion-second-brain" rel="noopener noreferrer"&gt;https://github.com/BotirBakhtiyarov/orion-second-brain&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There's a good-first-issue list if anyone wants to dig in. I'll be around.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
