<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Yash Pokar — Blog</title>
    <link>https://www.yashpokar.com/blog</link>
    <atom:link href="https://www.yashpokar.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Notes on AI agents, evals, generative UI, infrastructure and data pipelines.</description>
    <language>en</language>
    <lastBuildDate>Tue, 27 Oct 2026 07:20:02 GMT</lastBuildDate>
    <item>
      <title>What the AI engineering market actually wants in 2026</title>
      <link>https://www.yashpokar.com/blog/what-the-ai-engineering-market-actually-wants-in-2026</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/what-the-ai-engineering-market-actually-wants-in-2026</guid>
      <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
      <description>I read a lot of job postings and hiring reports this autumn to recalibrate my own stack. The signal is clear and a little humbling: agents, retrieval, evals and shipping to real infrastructure, with model hosting and fine-tuning further down than the hype suggests.</description>
      <category>AI</category>
      <category>Career</category>
      <category>Agents</category>
      <category>Evals</category>
      <category>Engineering Practice</category>
    </item>
    <item>
      <title>AG-UI: the missing protocol between your agent and your frontend</title>
      <link>https://www.yashpokar.com/blog/ag-ui-the-protocol-between-agents-and-your-frontend</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/ag-ui-the-protocol-between-agents-and-your-frontend</guid>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
      <description>Every team that ships an agent ends up hand-rolling the same streaming, tool-call and state-sync plumbing to the browser. AG-UI 1.0 standardises it. What the protocol actually is, what the event stream looks like, and why I'd adopt it over a bespoke WebSocket.</description>
      <category>AI</category>
      <category>Agents</category>
      <category>AG-UI</category>
      <category>Frontend</category>
      <category>Protocols</category>
    </item>
    <item>
      <title>A2UI: when the agent builds the interface</title>
      <link>https://www.yashpokar.com/blog/a2ui-when-the-agent-builds-the-interface</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/a2ui-when-the-agent-builds-the-interface</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <description>Google's A2UI lets an agent describe a UI as data and have your app render it with trusted native components. No generated HTML, no eval. How the format works, where it fits next to AG-UI and A2A, and what I would build with it.</description>
      <category>AI</category>
      <category>Agents</category>
      <category>A2UI</category>
      <category>Generative UI</category>
      <category>Frontend</category>
    </item>
    <item>
      <title>Evals are the product: how I ship LLM features without guessing</title>
      <link>https://www.yashpokar.com/blog/evals-are-the-product</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/evals-are-the-product</guid>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <description>The feature is not the prompt. It is the eval set that tells you the prompt still works. A layered approach I now use on every LLM project: deterministic checks, calibrated judges, pre-merge gates, and sampled production traces.</description>
      <category>AI</category>
      <category>Evals</category>
      <category>LLMs</category>
      <category>Engineering Practice</category>
    </item>
    <item>
      <title>The favour that became a revenue line</title>
      <link>https://www.yashpokar.com/blog/the-favour-that-became-a-revenue-line</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/the-favour-that-became-a-revenue-line</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
      <description>A colleague asked me to automate downloading a few hundred invoices. It turned into a GST reconciliation system that makes money while nobody watches. Notes on side quests, scope, and knowing when to say yes.</description>
      <category>Automation</category>
      <category>Python</category>
      <category>Career</category>
      <category>Product</category>
    </item>
    <item>
      <title>Fine-tune, retrieve, or just prompt? A decision I keep re-making</title>
      <link>https://www.yashpokar.com/blog/fine-tune-retrieve-or-prompt</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/fine-tune-retrieve-or-prompt</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <description>The question comes up on every LLM project and the answer keeps changing with the models. The rule I use now, when LoRA earns its keep, and why the eval set has to exist before any of it.</description>
      <category>AI</category>
      <category>Fine-tuning</category>
      <category>RAG</category>
      <category>LLMs</category>
    </item>
    <item>
      <title>Shipping an AI copilot from a hackathon to production</title>
      <link>https://www.yashpokar.com/blog/shipping-segment-functions-copilot-from-a-hackathon</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/shipping-segment-functions-copilot-from-a-hackathon</guid>
      <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
      <description>Segment's Functions Copilot started as a two-day hackathon demo that turned plain English into working code. Getting it in front of customers meant RAG, evals, guardrails, and letting go of the parts that only worked on stage.</description>
      <category>AI</category>
      <category>LLMs</category>
      <category>RAG</category>
      <category>LangGraph</category>
      <category>Product</category>
    </item>
    <item>
      <title>From 3.5 hours to 20 minutes: rewriting a nightly SKU sync</title>
      <link>https://www.yashpokar.com/blog/nightly-sync-3-hours-to-20-minutes</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/nightly-sync-3-hours-to-20-minutes</guid>
      <pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate>
      <description>The batch job nobody wanted to touch. A story about profiling before guessing, concurrency with a budget, and why idempotency is the feature that lets you go fast.</description>
      <category>Java</category>
      <category>Performance</category>
      <category>Concurrency</category>
      <category>Data Pipelines</category>
    </item>
    <item>
      <title>How we cut infrastructure cost by ~60% with spot instances and Kubernetes</title>
      <link>https://www.yashpokar.com/blog/cutting-infra-cost-60-percent-spot-kubernetes</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/cutting-infra-cost-60-percent-spot-kubernetes</guid>
      <pubDate>Sat, 21 Jun 2025 00:00:00 GMT</pubDate>
      <description>Dockerising a Java monolith's satellites, moving to Spot.io Ocean, and learning to love getting your nodes taken away. A field guide to running production on hardware that can vanish in two minutes.</description>
      <category>Kubernetes</category>
      <category>AWS</category>
      <category>Cost</category>
      <category>Docker</category>
      <category>Java</category>
    </item>
    <item>
      <title>Dropping Selenium made our crawler 15× faster</title>
      <link>https://www.yashpokar.com/blog/dropping-selenium-15x-faster-crawler</link>
      <guid isPermaLink="true">https://www.yashpokar.com/blog/dropping-selenium-15x-faster-crawler</guid>
      <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
      <description>Headless browsers are the easy answer to scraping and almost never the right one. How we replaced a Selenium fleet with request-level crawling on Scrapy and AWS, and what it taught me about hidden cost.</description>
      <category>Python</category>
      <category>Scraping</category>
      <category>AWS</category>
      <category>Performance</category>
    </item>
  </channel>
</rss>
