<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://nicojahn.pages.dev/blog</id>
    <title>nicojahn Blog</title>
    <updated>2026-04-09T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://nicojahn.pages.dev/blog"/>
    <subtitle>nicojahn Blog</subtitle>
    <icon>https://nicojahn.pages.dev/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[The EU AI Act is here — a practical checklist for enterprises]]></title>
        <id>https://nicojahn.pages.dev/blog/eu-ai-act-checklist</id>
        <link href="https://nicojahn.pages.dev/blog/eu-ai-act-checklist"/>
        <updated>2026-04-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Skip the panic. Classify your systems by risk tier and get a concrete checklist of obligations before launch day.]]></summary>
        <content type="html"><![CDATA[<p>The EU AI Act is no longer a future problem. If you operate AI in the EU, the
question is not <em>whether</em> it applies, but <em>which tier</em> your systems fall into — and
what that obliges you to do.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="start-with-classification">Start with classification<a href="https://nicojahn.pages.dev/blog/eu-ai-act-checklist#start-with-classification" class="hash-link" aria-label="Direct link to Start with classification" title="Direct link to Start with classification" translate="no">​</a></h2>
<p>Most enterprise AI is <strong>limited</strong> or <strong>high</strong> risk. The obligations differ sharply:</p>
<table><thead><tr><th>Risk tier</th><th>Typical examples</th><th>What's required</th></tr></thead><tbody><tr><td>High</td><td>Hiring, credit scoring</td><td>Risk management, documentation, human oversight, logging</td></tr><tr><td>Limited</td><td>Customer chatbots</td><td>Transparency / disclosure to users</td></tr><tr><td>Minimal</td><td>Spam filters</td><td>None</td></tr></tbody></table>
<p>Classify every system early. A use case that looks harmless can land in <em>high</em> risk
the moment it touches employment or creditworthiness.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="build-the-controls-in-not-on">Build the controls in, not on<a href="https://nicojahn.pages.dev/blog/eu-ai-act-checklist#build-the-controls-in-not-on" class="hash-link" aria-label="Direct link to Build the controls in, not on" title="Direct link to Build the controls in, not on" translate="no">​</a></h2>
<p>The Act rewards teams that designed for it: technical documentation, audit logs, and
human-oversight controls are far cheaper to build during development than to retrofit
under a deadline.</p>
<p>This is exactly what our <a class="" href="https://nicojahn.pages.dev/docs/services/data-compliance">Data &amp; Compliance practice</a>
does — map each system to a tier and a concrete checklist before it becomes a launch
blocker.</p>
<blockquote>
<p>Not legal advice — we deliver the technical controls; pair us with your counsel for
binding interpretation.</p>
</blockquote>]]></content>
        <author>
            <name>Nico Jahn</name>
            <uri>https://nicojahn.pages.dev</uri>
        </author>
        <category label="Compliance" term="Compliance"/>
        <category label="Strategy" term="Strategy"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[What it actually takes to run RAG in production]]></title>
        <id>https://nicojahn.pages.dev/blog/rag-in-production</id>
        <link href="https://nicojahn.pages.dev/blog/rag-in-production"/>
        <updated>2026-02-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A demo RAG pipeline takes an afternoon. A production one takes evaluation, access control, and monitoring. Here's the gap.]]></summary>
        <content type="html"><![CDATA[<p>A retrieval-augmented generation demo takes an afternoon. A RAG system you can put
in front of customers takes considerably more — and the difference is almost never
the model.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-demo-to-production-gap">The demo-to-production gap<a href="https://nicojahn.pages.dev/blog/rag-in-production#the-demo-to-production-gap" class="hash-link" aria-label="Direct link to The demo-to-production gap" title="Direct link to The demo-to-production gap" translate="no">​</a></h2>
<p>Most RAG prototypes skip the three things that decide whether the system survives
contact with real users:</p>
<ol>
<li class=""><strong>Evaluation.</strong> Without a golden dataset and regression tests, every prompt
tweak is a gamble. We gate deploys on faithfulness and citation accuracy.</li>
<li class=""><strong>Access control.</strong> Retrieval must respect who is allowed to see what. Bolting
this on later means re-architecting the index.</li>
<li class=""><strong>Monitoring.</strong> Hallucination rate, latency, and cost drift over time. You want
alerts, not customer complaints.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-we-approach-it">How we approach it<a href="https://nicojahn.pages.dev/blog/rag-in-production#how-we-approach-it" class="hash-link" aria-label="Direct link to How we approach it" title="Direct link to How we approach it" translate="no">​</a></h2>
<p>At nicojahn we ship every RAG engagement with an eval harness from day one and
deploy into the client's own EU cloud region. The model is provider-flexible; the
quality bar is not.</p>
<p>See our <a class="" href="https://nicojahn.pages.dev/docs/services/llm-genai">LLM &amp; GenAI services</a> or
<a class="" href="https://nicojahn.pages.dev/docs/contact">get in touch</a>.</p>]]></content>
        <author>
            <name>Nico Jahn</name>
            <uri>https://nicojahn.pages.dev</uri>
        </author>
        <category label="GenAI" term="GenAI"/>
    </entry>
</feed>