<?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: David Vellé Abel</title>
    <description>The latest articles on DEV Community by David Vellé Abel (@david_velle_abel).</description>
    <link>https://dev.to/david_velle_abel</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%2F3919889%2F43bd56bb-213e-47a7-93e9-93f418c140fb.png</url>
      <title>DEV Community: David Vellé Abel</title>
      <link>https://dev.to/david_velle_abel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/david_velle_abel"/>
    <language>en</language>
    <item>
      <title>The Local AI Developer (Part 2): A Reality Check After Real-World Testing</title>
      <dc:creator>David Vellé Abel</dc:creator>
      <pubDate>Thu, 23 Jul 2026 10:01:26 +0000</pubDate>
      <link>https://dev.to/david_velle_abel/the-local-ai-developer-part-2-a-reality-check-after-real-world-testing-3532</link>
      <guid>https://dev.to/david_velle_abel/the-local-ai-developer-part-2-a-reality-check-after-real-world-testing-3532</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is Part 2 of my series on building a Local AI Developer Stack. If you missed the initial setup guide, you can read it here but I warn you that it might be already obsolete: &lt;a href="https://dev.to/david_velle_abel/local-agentic-development-with-ollama-and-opencode-5942"&gt;The Local AI Developer (Part 1)&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It has been two months since I published that initial guide. The setup in Part 1 looked great and promising on day one, so I decided to use it daily to give it a test in real-world conditions.&lt;/p&gt;

&lt;p&gt;Here is a reality check of what works, what doesn't, and the optimizations required to make it truly usable.&lt;/p&gt;

&lt;h1&gt;
  
  
  Reality Check
&lt;/h1&gt;

&lt;p&gt;I have tried my setup with different agents, LLMs, and combinations, but to be honest, it was hard to make it work as expected right out of the box. These were the main struggles:&lt;/p&gt;

&lt;h2&gt;
  
  
  &amp;nbsp;Speed
&lt;/h2&gt;

&lt;p&gt;This was an expected trade-off, but I was not expecting this level of slowness. I am talking about 4 to 5 tokens per second. To put that in context, this is equivalent to ~180 words per minute. An average human reader consumes between 200 and 300 words per minute. When the machine types slower than you can read, the developer experience suffers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &amp;nbsp;Out of Memory Errors
&lt;/h2&gt;

&lt;p&gt;It was naive to only calculate the RAM needed for the LLM weights. The context window, the sessions, the system prompts—everything wants its tiny bit of RAM, and they all have to share the machine with my IDE, browser, and background processes.&lt;/p&gt;

&lt;p&gt;It was common to see the LLM crash with an Out of Memory (OOM) error after 20 minutes of deep thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quality
&lt;/h2&gt;

&lt;p&gt;It was usual to see the LLM running in circles but to be honest, that was a configuration problem on my side: using the wrong LLM for the task or setting the wrong context window. You end up with an agent that has no memory and starts overthinking the same ideas without actually executing them.&lt;/p&gt;

&lt;h1&gt;
  
  
  Can we improve it?
&lt;/h1&gt;

&lt;p&gt;To fix these issues, I had to change my approach from "maximum power" to "maximum efficiency." There are a couple of parameters you can play with:&lt;/p&gt;

&lt;h2&gt;
  
  
  &amp;nbsp;Select the Proper Model
&lt;/h2&gt;

&lt;p&gt;I know we all want the biggest frontier model working for free on our machine, but we are running laptops, not mainframes, and we need to deal with their limits.&lt;/p&gt;

&lt;p&gt;Smaller, more focused models exist. They have a significantly lower memory footprint, which leaves more space for context, sessions, and your actual daily apps. All models benefit from working with small chunks of code, and I have found smaller, specialized models to be "good enough" for small units of work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check Your Runtime
&lt;/h2&gt;

&lt;p&gt;When I wrote Part 1, I started with Ollama. Since then, I found out there are a lot of runtimes and LLM servers, and they are all optimized in different ways.&lt;/p&gt;

&lt;p&gt;Trying different runtimes to find the one that best fits your specific hardware can be a game changer. (I will delve into a highly optimized running setup specifically for my M4 Pro in a later post).&lt;/p&gt;

&lt;h2&gt;
  
  
  Context Management
&lt;/h2&gt;

&lt;p&gt;I know this is a hot topic right now, but it really matters in local development. As I stated earlier, we cannot rely on humongous context windows like we do with cloud servers. We need to find the sweet spot between usability (so the agent remembers what it is doing) and memory usage.&lt;/p&gt;

&lt;p&gt;Standard context optimization techniques are mandatory here: keep your sessions focused, compact your context, and don't let the agent read files it doesn't absolutely need.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;The biggest lesson I learned over these last two months is that local AI development is not a drop-in replacement for the cloud; it is an entirely different discipline. You cannot throw infinite compute at a problem. Instead, you have to act like a systems engineer—balancing memory constraints, managing context hygiene, and matching the right model size to the right task. Once you embrace those constraints, building a completely private, autonomous local stack isn't just feasible; it is incredibly rewarding.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>testing</category>
    </item>
    <item>
      <title>The Local AI Developer (Part 1): Setup with Ollama and OpenCode</title>
      <dc:creator>David Vellé Abel</dc:creator>
      <pubDate>Mon, 11 May 2026 08:34:36 +0000</pubDate>
      <link>https://dev.to/david_velle_abel/local-agentic-development-with-ollama-and-opencode-5942</link>
      <guid>https://dev.to/david_velle_abel/local-agentic-development-with-ollama-and-opencode-5942</guid>
      <description>&lt;h1&gt;
  
  
  Why Go Local?
&lt;/h1&gt;

&lt;p&gt;Every time I use a cloud-based AI coding assistant, I feel a little trapped in a vendor lock-in ecosystem, and it triggers alarms in my brain. Where exactly is my data going? What happens when they inevitably hike up the subscription price, just like every other service (looking at you, Netflix)?&lt;/p&gt;

&lt;p&gt;It always brings me back to one question: Is it feasible to just build this locally?&lt;/p&gt;

&lt;p&gt;Recently, I saw &lt;a href="https://xcancel.com/julien_c/status/2047647522173104145" rel="noopener noreferrer"&gt;this post&lt;/a&gt; from Julien Chaumond, the CTO of Hugging Face, and it inspired me to finally try it.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Benefits
&lt;/h1&gt;

&lt;p&gt;Going local comes with some massive benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Budget:&lt;/strong&gt; There are no API tokens to refill and no $20/month subscription fees.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero Dependencies:&lt;/strong&gt; You are completely immune to API outages, rate limits, or slow internet connections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Absolute Privacy &amp;amp; Security:&lt;/strong&gt; This is the biggest draw. Zero code leaves your machine.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Setup: Ollama + OpenCode
&lt;/h1&gt;

&lt;p&gt;I am building this setup using Ollama and OpenCode. They are both open-source, and they serve two distinct purposes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; serves the local LLM to our machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCode&lt;/strong&gt; acts as the agent, connecting to Ollama to execute our tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both tools have deep configuration options, but for this article, we will keep it strictly to the essentials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ollama
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ollama.com/download" rel="noopener noreferrer"&gt;Ollama offers different scripts to ease the installation process&lt;/a&gt;&lt;br&gt;
Follow the steps, and once you are done, install a local model.&lt;/p&gt;

&lt;p&gt;You can check available models in &lt;a href="https://ollama.com/search" rel="noopener noreferrer"&gt;Ollama's website&lt;/a&gt;. Which one to choose depends mainly on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are you trying to do? - In our case that's coding&lt;/li&gt;
&lt;li&gt;How much RAM do you have available - Different models require different RAM capabilities based on their architecture and parameter count. As a simplified rule: the higher the parameter number, the "smarter" the model, but the higher the memory footprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I found that Qwen3.6 looks excellent for coding tasks and it fits my hardware (~22GB footprint), so let's install it:&lt;/p&gt;

&lt;p&gt;First, start Ollama. This can be done as a background service or directly in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's download the model.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull qwen3.6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can run it as a terminal chat-bot to verify everything is working:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama run qwen3.6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the backend running, let's jump to our Agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  OpenCode
&lt;/h2&gt;

&lt;p&gt;OpenCode is an open-source Agent that can connect to any LLM model - even the paid ones like Claude - and it works really well with Ollama.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://opencode.ai/" rel="noopener noreferrer"&gt;Installation is simple enough through brew, bun, npm, etc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbskvb9w48358gsdyld7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbskvb9w48358gsdyld7k.png" alt=" " width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we need to configure a model. OpenCode already offers integration with many providers, but for our local use case, we can use Ollama to start OpenCode pre-configured. Let's do that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama launch opencode &lt;span class="nt"&gt;--model&lt;/span&gt; qwen3.6 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This single command starts and configures everything necessary. Easy enough.&lt;/p&gt;

&lt;h1&gt;
  
  
  Use and experience
&lt;/h1&gt;

&lt;p&gt;OpenCode works much like other terminal-based AI agents (such as the Claude CLI). With our local setup complete, we can jump straight in. Let's try a simple "Hello World" task:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6z1pvqqgb0gpdl5jdl0t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6z1pvqqgb0gpdl5jdl0t.png" alt=" " width="800" height="82"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent executes the task perfectly, and as promised, there is zero token consumption. However, a quick glance at my system monitor confirms the trade-off we discussed earlier—my machine is definitely feeling the heat:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbwjjgd88w9h5p3a5lrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbwjjgd88w9h5p3a5lrh.png" alt=" " width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;So, is local AI development feasible? Absolutely.&lt;/p&gt;

&lt;p&gt;While you are not going to get the same performance and model reasoning of a massive cloud-deployed model like Claude or GPT, local models are starting to close the gap and at least be "good enough" for daily tasks.&lt;/p&gt;

&lt;p&gt;There's a shift from financial cost to hardware constraint. Your machine's RAM and GPU are now the bottlenecks.&lt;/p&gt;

&lt;p&gt;Because of this, practicing good "context hygiene" and optimizing how you interact with the agent becomes critical. Agents.md, system prompts and boundaries will make you work significantly faster.&lt;/p&gt;

&lt;p&gt;Even with its limitations, the trade for absolute privacy, zero latency and autonomy might be worth it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>agents</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
