<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blogit</title>
    <link>https://julianmoors.net/</link>
    <description>A secure, server-rendered blog application</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 28 Jul 2026 17:34:43 GMT</lastBuildDate>
    <atom:link href="https://julianmoors.net/rss" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Unleashing the ultimate source of truth: OpenCode, Obsidian, and Agentic Development</title>
      <link>https://julianmoors.net/posts/unleashing-the-ultimate-source-of-truth-opencode-obsidian-and-agentic-developmen</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/unleashing-the-ultimate-source-of-truth-opencode-obsidian-and-agentic-developmen</guid>
      <pubDate>Tue, 21 Jul 2026 18:27:21 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>Managing a project's "Source of Truth" (SoT) is a historical developer headache. Documentation sits in corporate wikis, requirements live in Jira, and code lives in Git. They constantly drift apart.</p>
<p>By pairing OpenCode (an alternative to Claude Code and Codex) with Obsidian (a local-first, Markdown-based knowledge base), you can build a unified, human-readable, and machine-actionable SoT.</p>
<p>When you layer Agentic Driven Development (ADD) on top of this stack, the documentation stops being a passive diary and becomes an active participant in building your software.</p>
<h2>The Stack: Git + OpenCode + Obsidian</h2>
<p>Using proprietary, siloed tools for project management creates platform lock-in and fragmented context. Here is why the open, local-first combination wins:</p>
<ul>
<li><p>Everything is Markdown: Obsidian stores files as plain Markdown documents. OpenCode projects produce text files. Because everything is text, your code and your documentation can live in the exact same Git repository.</p>
</li>
<li><p>Bi-Directional Linking: Obsidian’s core strength is linking notes together. You can link a feature request to a specific technical design document, which links directly to local code snippets.</p>
</li>
<li><p>Version-Controlled Truth: When documentation lives inside your project repository, changes to documentation are tracked via Git commits alongside the code. A feature pull request updates the code and the documentation simultaneously.</p>
</li>
</ul>
<h2>Why Agentic Driven Development is the Perfect Match</h2>
<p>While Behavior-Driven Development (BDD) is excellent for turning user stories into automated tests, Agentic Driven Development (ADD) is far more appropriate for this specific stack.</p>
<p>ADD views AI agents as autonomous collaborators rather than just autocomplete tools. Agents require structured, highly contextual, and easily readable data to operate effectively. An Obsidian vault hosted on an open repository acts as the perfect cognitive map for an AI agent.</p>
<ol>
<li>The Context Engine for AI Agents</li>
</ol>
<p>AI agents struggle with massive, disorganized codebases. By structuring your project architecture, business logic, and roadmap inside Obsidian using clear Markdown hierarchies and tags, you create a map the agent can instantly scan. The agent reads your Obsidian notes to understand why a feature is being built before it touches the code.</p>
<ol start="2">
<li>Autonomous Documentation Sync</li>
</ol>
<p>In an ADD workflow, the agent doesn't just write code; it maintains the SoT. When an agent refactors a backend service, it can autonomously update the corresponding architectural diagrams (using Mermaid.js inside Obsidian) and API endpoints documented in your vault.</p>
<ol start="3">
<li>Executable Roadmaps</li>
</ol>
<p>With your project source code and Obsidian, your project roadmap is just a text file. An AI agent can parse your Roadmap.md or Todo.md, identify the next highest-priority task, spin up a new git branch, write the code, test it, and submit a pull request—all while updating the task status in your vault</p>
<h2>How to Set It Up</h2>
<ol>
<li><p>Initialize a Unified Repo: Create an open-source repository. Inside it, create a /src folder for your code and a /docs folder for your Obsidian vault.</p>
</li>
<li><p>Link the Vault: Open the /docs folder as a new vault in Obsidian.</p>
</li>
<li><p>Define Agent Prompts: Instruct your development agents (like Cline, Roo Code, or custom LLM scripts) to always check the /docs folder first for context before writing code, and to update those docs when a feature changes.</p>
</li>
</ol>
<h2>The Verdict</h2>
<p>When your code is open, your documentation is a local-first network of Markdown files, and your primary developer is an AI agent, you eliminate project friction. You no longer write documentation for a dusty corporate wiki; you write it to program your AI agents.</p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a20bd19eccfa965950a065e-1784658437143.jpg" length="0" type="image/jpeg" />
    </item>
    <item>
      <title>Why companies are swapping SaaS for AI</title>
      <link>https://julianmoors.net/posts/why-companies-are-swapping-saas-for-ai</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/why-companies-are-swapping-saas-for-ai</guid>
      <pubDate>Tue, 21 Jul 2026 12:49:54 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>Traditional SaaS companies charge you per user, per month. As your team grows, your software bill skyrockets.</p>
<p>With advanced, low-cost AI models like DeepSeek, a company can build its own basic customer service bots, data analysis tools, and writing assistants.</p>
<p>Instead of buying ten different software tools, you route your workflows through one AI system and pay pennies for the actual computing power used.</p>
<h2>The Cost Breakdown: SaaS vs. AI</h2>
<p>Let’s look at a realistic scenario for a mid-sized company with 50 employees using standard tools for copywriting, customer support, and CRM data management.</p>
<h3>1. The Traditional SaaS Route</h3>
<ul>
<li>Average SaaS cost: £40 per user, per month (across 3 essential tools)</li>
<li>Monthly bill: £2,000</li>
<li>6-Month Cost: £12,000</li>
<li>12-Month Cost: £24,000</li>
</ul>
<h3>2. The DeepSeek AI API Route</h3>
<p>Using DeepSeek's highly efficient API models, you only pay for the volume of text generated (measured in tokens). For a team of 50 heavily using AI daily, they might process 100 million tokens a month.</p>
<ul>
<li>Average AI data cost: £100 per month</li>
<li>Internal setup &amp; hosting: £150 per month</li>
<li>Total monthly bill: £250</li>
<li>6-Month Cost: £1,500</li>
<li>12-Month Cost: £3,000</li>
</ul>
<h3>The Catch: Upfront Investment</h3>
<p>While the operational savings are massive, you must consider the initial setup. You will need to hire a developer or use an agency to build the internal interface for your staff.</p>
<p>If building a custom dashboard costs your company £5,000 upfront:</p>
<ul>
<li>Your 6-month savings adjust to £5,500</li>
<li>Your 12-month savings jump to £16,000</li>
</ul>
<p>From Year 2 onwards, the software is completely yours, and the ongoing savings go straight to your bottom line.</p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a20bd19eccfa965950a065e-1784639742567.jpg" length="0" type="image/jpeg" />
    </item>
    <item>
      <title>How I slashed 90% of API costs using this one AI model</title>
      <link>https://julianmoors.net/posts/how-i-slashed-90-of-api-costs-using-this-one-ai-model</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/how-i-slashed-90-of-api-costs-using-this-one-ai-model</guid>
      <pubDate>Mon, 15 Jun 2026 18:28:19 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>You can probably tell from this blog post's cover image which AI model I'm talking about. And yes, DeepSeek v4 Pro is ~90% cheaper than the other frontier models. How does DeepSeek achieve this?</p>
<p>Here's what you need to know:</p>
<h3>1. Mixture-of-Experts (MoE)</h3>
<p>DeepSeek uses Mixture-of-Experts to balance model capacity with computational efficiency.</p>
<ul>
<li>Specialized Experts: Each feedforward block is divided into multiple "experts" (e.g., V3: 256 experts). Instead of every token passing through all parameters, only a few top-ranked experts (2–4 per token) are activated by a routing mechanism that scores token embeddings against expert embeddings.</li>
<li>Routing Mechanism: A sigmoid gating function with learnable expert biases dynamically selects which experts are engaged for each token. This resolves load-imbalance problems common in MoE architectures without adding auxiliary-loss terms.</li>
<li>Compute Savings: MoE allows DeepSeek to behave like a 671B parameter dense model on training while activating only ~5.5% (37B) of parameters during inference. This reduces both GPU memory usage and runtime costs, enabling long-context capabilities without prohibitive expenditure.</li>
<li>Shared Experts &amp; Redundancy: Certain popular experts can be duplicated across GPUs in deployment to avoid bottlenecks. This ensures throughput remains high under uneven token distribution.</li>
</ul>
<h3>2. KV Cache and Multi-Head Latent Attention (MLA)</h3>
<p>Transformer models rely on storing Key (K) and Value (V) tensors for each token to compute attention efficiently over long contexts—this is the KV cache. For extremely long sequences (e.g., 128K tokens in DeepSeek), naive caching would cause memory usage to skyrocket.</p>
<p>MLA tackles this:</p>
<ul>
<li>Low-Rank Compression: Instead of caching all K/V tensors at full precision, DeepSeek projects them into a smaller latent space (c_t), drastically reducing storage (sometimes &gt;90% memory savings).</li>
<li>Query Compression: Although queries are ephemeral, MLA also compresses them slightly to maintain consistency without burdening cache memory.</li>
<li>Separation of Content and Position: Rotary Positional Embeddings (RoPE) are applied independent of content representations. Keys are split into a compressed content component and a RoPE-aware positional component, ensuring positional info is preserved while keeping most KV tensors compressed.</li>
<li>Decompression-on-Demand: During attention computation, latent representations are projected back to full dimensions through a lightweight reconstruction, effectively providing the same representational power at a fraction of the memory cost.</li>
<li>Inference Impact: MLA enables long-context inference while keeping GPU memory requirements practical. In V3, KV cache memory was reduced by over 93% without degrading quality.</li>
</ul>
<h3>3. Cache Optimization Strategies</h3>
<p>DeepSeek’s architectural approach not only compresses KV tensors but complements this with efficient caching strategies:</p>
<p>Absorb vs Naive Modes:</p>
<ul>
<li>Naive: Stores all expanded K/V tensors. Highly memory-intensive.</li>
<li>Absorb: Stores only compressed latent representations, expanding them dynamically when needed. Reduces cache usage by nearly 98–99% in practice.</li>
<li>Dynamic Context Scaling: For sequences exceeding base context lengths, attention scaling factors and positional embeddings are adjusted to preserve numerical stability while maximizing effective receptive field.</li>
</ul>
<h3>4. Synergy Between MoE and MLA</h3>
<ul>
<li>Memory-Efficient Activation: Since only a subset of experts is active for every token (MoE), the memory saved by MLA complements this sparse computation, enabling model deployments with both enormous capacity and manageable resource usage.</li>
<li>Preservation of Model Quality: Unlike grouping heads arbitrarily (e.g., GQA) or quantizing caches aggressively, MLA provides low-rank compression while still allowing attention heads to access distinct representations for diverse heads.</li>
<li>Scaling to 1T Parameters (V4): With upcoming V4 models, MoE and MLA together permit ultra-high parameter counts (1T) while reducing active parameters per token (32B) and keeping memory and compute costs feasible.</li>
</ul>
<h3>5. Practical Implications</h3>
<ul>
<li>Fine-Tuning: LoRA-like adapters can be inserted post-training into attention layers to adapt MoE and MLA without retraining the full model, balancing capacity, efficiency, and accuracy.</li>
<li>High-Context Applications: For tasks like multi-document reasoning or long-session chat, MLA ensures long token histories remain manageable in GPU memory, while MoE delivers computational efficiency.</li>
<li>Inference Cost: The combination allows DeepSeek to offer API pricing that is significantly lower than dense models of comparable capability while maintaining competitive performance.</li>
</ul>
<p>These innovations make DeepSeek AI suitable for research, enterprise applications, and long-form reasoning tasks where both speed and context depth are paramount.</p>
<h3>What can you realistically expect?</h3>
<p>I wanted to build a project that would use enough tokens to realistically benchmark typical usage for a project. As I work for a warehouse and logistics company I decided to build a project that allow users to manage typical equipment found in a warehouse.</p>
<p>I called it EquipIt and you can visit the project on GitHub: (<a href="https://github.com/techno-yeti/equipit" target="_blank" rel="noopener noreferrer">https://github.com/techno-yeti/equipit</a>).</p>
<p>For EquipIt I used less than £2 of tokens, I believe this is due to the above mentioned reasons but mostly hitting the cache.</p>
<p>I wanted to show some screenshots for the EquipIt app to showcase the style and detail the AI came up with. I believe that DeepSeek v4 Pro is usable for commercial use (see project screenshots below):</p>
<p><img src="https://i.postimg.cc/NGX1FG9v/Screenshot-2026-06-16-161139.png" alt="Planned Requests Dashboard" /></p>
<p><strong>Planned Requests Dashboard:</strong> shows the current requests planned for that day (the day can be changed with the calendar select widget).</p>
<p><img src="https://i.postimg.cc/RCtchC6m/Screenshot-2026-06-16-161204.png" alt="Listing All Requests" /></p>
<p><strong>Listing All Requests:</strong> shows all requests stored in the app (good for planning days and weeks ahead).</p>
<p><img src="https://i.postimg.cc/pVjDrV9g/Screenshot-2026-06-16-161243.png" alt="Printable Delivery Advice Notes" /></p>
<p><strong>Printable Delivery Advice Notes:</strong> shows printable delivery advice note for the driver to give to the security gate on exiting the yard, this can only be used once).</p>
<p><img src="https://i.postimg.cc/T2br12LX/Screenshot-2026-06-16-161227.png" alt="Limiting Email Addresses" /></p>
<p><strong>Limiting Email Addresses:</strong> to stop other companies using the app there is an email restriction function.</p>
<p>There are other features that are not shown here: trailer templating, listing equipment types, user management and the help center.</p>
<h3>Conclusion</h3>
<p>DeepSeek’s architectural elegance lies in orchestrating sparsity (MoE) and efficient attention caching (MLA) to enable high-parameter, long-context LLMs that remain economically and operationally feasible. By compressing what needs to be stored and sparsifying what needs to be computed, DeepSeek achieves a remarkable balance between scale, speed, and accuracy, representing a state-of-the-art approach to large language model design.</p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a20bd19eccfa965950a065e-1781692630515.jpg" length="0" type="image/jpeg" />
    </item>
    <item>
      <title>How to get the most out of your AI model</title>
      <link>https://julianmoors.net/posts/how-to-get-the-most-out-of-your-ai-model</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/how-to-get-the-most-out-of-your-ai-model</guid>
      <pubDate>Mon, 15 Jun 2026 18:09:38 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>How do you prevent your AI assistant wasting tokens by generating something you'll probably won't use? Much like when you're sat in front of a computer deciding what to concentrate your time on, AI assistants need to be told up front what they need to be focusing on.</p>
<p>After having launched my own blog and an equipment management web app as a realistic practice project I will tell you how to get the most out of your AI assistant.</p>
<p>It all boils down to defining exactly what the AI assistant should do. By doing this the AI is laser focused on the task at hand and you'll no longer have to worry about token burn rate. But what does a spec actually look like?</p>
<p>I have posted a set of spec files for a MERN-based project on my GitHub account (link can be found above next to my avatar picture). </p>
<p>Feel free to edit it for your own projects and if you would like to, post a link to an update in the comments section below.</p>
<p>Bearing in mind I used this format before I heard of agent skills. The downside is you'll have to change the spec files everytime you wish to build something.</p>
<p>I've also gotten into the habit of getting the AI model I'm working with to generate a set of specs in case I wish to regenerate the source code with certain changes (for example if a client decides to go with an alternative CSS framework), I usually include this with the project so that I don't lose context.</p>
<p>If you're looking for something more generic that can work across multiple projects then this GitHub repo might be something to test: </p>
<p><a href="https://github.com/addyosmani/agent-skills" target="_blank" rel="noopener noreferrer">https://github.com/addyosmani/agent-skills</a></p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a20bd19eccfa965950a065e-1781106280075.jpg" length="0" type="image/jpeg" />
    </item>
    <item>
      <title>How I used AI to roll my own blogging platform</title>
      <link>https://julianmoors.net/posts/how-i-used-ai-to-roll-my-own-blogging-platform</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/how-i-used-ai-to-roll-my-own-blogging-platform</guid>
      <pubDate>Thu, 04 Jun 2026 20:06:57 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>I took the decision to roll my own platform after wanting to experiment with agentic coding.</p>
<p>My experience of using AI has always been with using a fully fledged IDE with an agent being used as nothing more than Intellisense on steroids. At the same time of deciding to use an AI coding tool I also decided to try a new text editor.</p>
<p>After installing Zed I clicked around to get an overall feel of what Zed is capable of and I saw an agent panel that spanned half of the width of the app indicating that Zed is giving AI agents first class support.</p>
<p><img src="https://i.postimg.cc/P5kHPkDK/Screenshot-2026-06-08-181217.png" alt="Zed editor showing AI panel" /></p>
<p>I then signed up for Zed Pro to enable the agents selection panel and decided to use Claude Sonnet as this AI model was recommended by Zed. I saw very quickly that Claude Sonnet was eating up a chunk of money and I looked at other AI models that I thought performed just as good, but are cheaper and that's when I tried Gemini 3.5 Flash.</p>
<p>(see below the pricing table from Zed Industries' website)</p>
<table>
<thead>
<tr>
<th>Model</th>
<th>Provider</th>
<th>Token Type</th>
<th>Provider Price per 1M tokens</th>
<th>Zed Price per 1M tokens</th>
</tr>
</thead>
<tbody><tr>
<td>Claude Opus 4.5</td>
<td>Anthropic</td>
<td>Input</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$25.00</td>
<td>$27.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$6.25</td>
<td>$6.875</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td>Claude Opus 4.6</td>
<td>Anthropic</td>
<td>Input</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$25.00</td>
<td>$27.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$6.25</td>
<td>$6.875</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td>Claude Opus 4.7</td>
<td>Anthropic</td>
<td>Input</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$25.00</td>
<td>$27.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$6.25</td>
<td>$6.875</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td>Claude Opus 4.8</td>
<td>Anthropic</td>
<td>Input</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$25.00</td>
<td>$27.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$6.25</td>
<td>$6.875</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td>Claude Sonnet 4.5</td>
<td>Anthropic</td>
<td>Input</td>
<td>$3.00</td>
<td>$3.30</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$15.00</td>
<td>$16.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$3.75</td>
<td>$4.125</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.30</td>
<td>$0.33</td>
</tr>
<tr>
<td>Claude Sonnet 4.6</td>
<td>Anthropic</td>
<td>Input</td>
<td>$3.00</td>
<td>$3.30</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$15.00</td>
<td>$16.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$3.75</td>
<td>$4.125</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.30</td>
<td>$0.33</td>
</tr>
<tr>
<td>Claude Haiku 4.5</td>
<td>Anthropic</td>
<td>Input</td>
<td>$1.00</td>
<td>$1.10</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Output</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Write</td>
<td>$1.25</td>
<td>$1.375</td>
</tr>
<tr>
<td></td>
<td>Anthropic</td>
<td>Input - Cache Read</td>
<td>$0.10</td>
<td>$0.11</td>
</tr>
<tr>
<td>GPT-5.5 pro</td>
<td>OpenAI</td>
<td>Input</td>
<td>$30.00</td>
<td>$33.00</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$180.00</td>
<td>$198.00</td>
</tr>
<tr>
<td>GPT-5.5</td>
<td>OpenAI</td>
<td>Input</td>
<td>$5.00</td>
<td>$5.50</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$30.00</td>
<td>$33.00</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td>GPT-5.4 pro</td>
<td>OpenAI</td>
<td>Input</td>
<td>$30.00</td>
<td>$33.00</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$180.00</td>
<td>$198.00</td>
</tr>
<tr>
<td>GPT-5.4</td>
<td>OpenAI</td>
<td>Input</td>
<td>$2.50</td>
<td>$2.75</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$15.00</td>
<td>$16.50</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.025</td>
<td>$0.0275</td>
</tr>
<tr>
<td>GPT-5.3-Codex</td>
<td>OpenAI</td>
<td>Input</td>
<td>$1.75</td>
<td>$1.925</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$14.00</td>
<td>$15.40</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.175</td>
<td>$0.1925</td>
</tr>
<tr>
<td>GPT-5.2</td>
<td>OpenAI</td>
<td>Input</td>
<td>$1.75</td>
<td>$1.925</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$14.00</td>
<td>$15.40</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.175</td>
<td>$0.1925</td>
</tr>
<tr>
<td>GPT-5.2-Codex</td>
<td>OpenAI</td>
<td>Input</td>
<td>$1.75</td>
<td>$1.925</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$14.00</td>
<td>$15.40</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.175</td>
<td>$0.1925</td>
</tr>
<tr>
<td>GPT-5 mini</td>
<td>OpenAI</td>
<td>Input</td>
<td>$0.25</td>
<td>$0.275</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$2.00</td>
<td>$2.20</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.025</td>
<td>$0.0275</td>
</tr>
<tr>
<td>GPT-5 nano</td>
<td>OpenAI</td>
<td>Input</td>
<td>$0.05</td>
<td>$0.055</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Output</td>
<td>$0.40</td>
<td>$0.44</td>
</tr>
<tr>
<td></td>
<td>OpenAI</td>
<td>Cached Input</td>
<td>$0.005</td>
<td>$0.0055</td>
</tr>
<tr>
<td>Gemini 3.1 Pro</td>
<td>Google</td>
<td>Input</td>
<td>$2.00</td>
<td>$2.20</td>
</tr>
<tr>
<td></td>
<td>Google</td>
<td>Output</td>
<td>$12.00</td>
<td>$13.20</td>
</tr>
<tr>
<td>Gemini 3.5 Flash</td>
<td>Google</td>
<td>Input</td>
<td>$1.50</td>
<td>$1.65</td>
</tr>
<tr>
<td></td>
<td>Google</td>
<td>Output</td>
<td>$9.00</td>
<td>$9.90</td>
</tr>
<tr>
<td>Gemini 3 Flash</td>
<td>Google</td>
<td>Input</td>
<td>$0.50</td>
<td>$0.55</td>
</tr>
<tr>
<td></td>
<td>Google</td>
<td>Output</td>
<td>$3.00</td>
<td>$3.30</td>
</tr>
</tbody></table>
<p>For those who have yet to try out AI agents, I would estimate that Gemini 3.5 Flash costs ~£50 per day for 8 hours of continuous use. Bearing in mind users won't be running AI models continuously due to code refactoring and feature evaluating, but I think ~£50 per day is acceptable for fair use.</p>
<p>I hope that better frontier AI models will make the likes of Gemini 3.5 Flash cheaper in the future and perhaps even offer capped pricing at 4-6 hours of continuous use for £100 per month.</p>
<p>I guess you're wondering what features I planned for, right? Although I prompted Gemini 3.5 Flash with features, it came up with some interesting implementations:</p>
<p>The first one was a Google SEO Optimizer.<br /><img src="https://i.postimg.cc/nLPx8qCx/Screenshot-2026-06-09-004522.png" alt="Google SEO Optimizer" /></p>
<p>The second one was a cookies banner directly generated from its own CORS code.<br /><img src="https://i.postimg.cc/SsgMbTcK/Screenshot-2026-06-09-005603.png" alt="Cookies Banner" /></p>
<p>The third one was a cover image uploader, which has allowed me to re-use already existing images should I have a long running post series, for example writing a weekly news post.<br /><img src="https://i.postimg.cc/wBJ2HpBM/Screenshot-2026-06-09-005256.png" alt="Cover Image Uploader" /></p>
<p>You're probably wondering if I would recommend using agentic AI for coding projects...</p>
<p>Yes, but it comes with a couple of caveats, the output code is around 95% useful, meaning the AI agent will write comments very similar to the way humans would, this makes sense if the AI models have been trained on OSS projects being hosted on places like GitHub, also you need to have a good idea of what features your app would need and this can only come from experience.</p>
<p>To prevent token overburn I would start off by implementing small projects at first and build up to more complicated projects after you feel confident with the tools. 😉</p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a20bd19eccfa965950a065e-1780668098530.jpg" length="0" type="image/jpeg" />
    </item>
    <item>
      <title>Hello World</title>
      <link>https://julianmoors.net/posts/hello-world</link>
      <guid isPermaLink="true">https://julianmoors.net/posts/hello-world</guid>
      <pubDate>Wed, 03 Jun 2026 23:59:26 GMT</pubDate>
      <author>julian.moors@outlook.com (Julian Moors)</author>
      <description><![CDATA[<p>Welcome to my blog. Here I write mostly about my experiences with coding and AI tools.</p>
<p>This blogging software was created with agentic AI models. In a later post I describe how I used AI to design and implement this project and the reasons why I chose this method.</p>
<p>If you have yet to dip your toes in generative coding then I hope to inspire you to start your own projects.</p>
]]></description>
      <enclosure url="https://julianmoors.net/uploads/posts/pots-6a1eeef0a08e7b9a32263384-1780412771355.jpg" length="0" type="image/jpeg" />
    </item>
  </channel>
</rss>