<?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>Forem: Jai kora</title>
    <description>The latest articles on Forem by Jai kora (@jaikora).</description>
    <link>https://forem.com/jaikora</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3934719%2Fc00aa7d5-3094-46bf-b5fb-47d62a8e3317.png</url>
      <title>Forem: Jai kora</title>
      <link>https://forem.com/jaikora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jaikora"/>
    <language>en</language>
    <item>
      <title>Why Your AI Safety Theater Is Killing Innovation: A Product Manager's Guide to Chaos Capital</title>
      <dc:creator>Jai kora</dc:creator>
      <pubDate>Wed, 20 May 2026 10:33:33 +0000</pubDate>
      <link>https://forem.com/jaikora/why-your-ai-safety-theater-is-killing-innovation-a-product-managers-guide-to-chaos-capital-88i</link>
      <guid>https://forem.com/jaikora/why-your-ai-safety-theater-is-killing-innovation-a-product-managers-guide-to-chaos-capital-88i</guid>
      <description>&lt;h1&gt;
  
  
  Why Your AI Safety Theater Is Killing Innovation: A Product Manager's Guide to Chaos Capital
&lt;/h1&gt;

&lt;p&gt;My six-year-old daughter doesn't understand rules yet. She approaches problems with a raw curiosity that cuts through layers of inherited assumptions. Watching her reminded me of something uncomfortable: we're managing AI products with the same risk-averse playbook we used for shipping physical products in the 1990s, when failure meant recalling inventory and issuing apologies on primetime television.&lt;/p&gt;

&lt;p&gt;But here's what changed: the cost of failure has collapsed to near-zero while we're still acting like we're launching space shuttles.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evolution Problem
&lt;/h2&gt;

&lt;p&gt;I've been thinking about first principles after listening to recent conversations with AI product leaders who are actually shipping. Evolution didn't optimize for safety. It optimized for rapid iteration with massive failure tolerance. The organisms that survived weren't the ones with the best guardrails, they were the ones that could adapt fastest to changing conditions.&lt;/p&gt;

&lt;p&gt;Yet here we are, building elaborate AI safety frameworks that slow every decision to a crawl. We're cosplaying risk management while our competitors are learning from real user interactions.&lt;/p&gt;

&lt;p&gt;The uncomfortable truth: most AI safety measures aren't protecting users. They're protecting product managers from having difficult conversations with executives who still think software deployment works like manufacturing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Golden Path Fallacy
&lt;/h2&gt;

&lt;p&gt;The current orthodoxy preaches building guardrails that make the "golden path" the only path. This sounds responsible until you realize it assumes we know what the golden path looks like for AI products that have never existed before.&lt;/p&gt;

&lt;p&gt;Traditional product development had physical constraints that forced us to think carefully before acting. You couldn't easily recall a shipped product or patch hardware bugs with overnight deployments. Those constraints created valuable habits around upfront planning and risk mitigation.&lt;/p&gt;

&lt;p&gt;AI development has different constraints. You can roll back a model change instantly. You can A/B test algorithmic behavior with surgical precision. You can implement circuit breakers that activate in milliseconds. The physics have changed, but our management practices haven't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chaos Engineering for AI Products
&lt;/h2&gt;

&lt;p&gt;The most successful AI product teams I've observed aren't the ones with the most elaborate safety procedures. They're the ones that have architected their systems for controlled chaos from day one.&lt;/p&gt;

&lt;p&gt;This means building products that can handle unexpected AI behavior gracefully rather than trying to prevent that behavior entirely. When your AI assistant generates something weird, does your product gracefully degrade or does it brick the entire user experience?&lt;/p&gt;

&lt;p&gt;Real AI safety isn't about preventing AI from doing unexpected things. It's about building products resilient enough that unexpected AI behavior becomes a feature, not a bug.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Agency Gap
&lt;/h2&gt;

&lt;p&gt;There's a growing divide between teams that embrace AI uncertainty and those that try to eliminate it. The difference isn't skills or resources, it's agency. Teams that thrive give their people permission to experiment rapidly and take accountability for the results.&lt;/p&gt;

&lt;p&gt;The traditional product management framework assumes you can define requirements upfront and measure success against predetermined metrics. AI products demand a different approach: define constraints rather than requirements, measure learning velocity rather than just outcome metrics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Permission Architecture
&lt;/h2&gt;

&lt;p&gt;The most important job for technical leadership in the AI era isn't building better guardrails. It's giving permission and taking accountability. The framework is simple: tell people they can experiment, and if anything goes wrong, blame the system design, not the individual decisions.&lt;/p&gt;

&lt;p&gt;This requires rebuilding your product architecture around rapid experimentation rather than predictable execution. Your infrastructure should make it easier to try something new than to maintain the status quo.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Optimization Trap
&lt;/h2&gt;

&lt;p&gt;We're optimizing for what we have instead of exploring what's possible. This is natural human behavior, but it's particularly dangerous in AI product development where the landscape shifts monthly.&lt;/p&gt;

&lt;p&gt;Quality in AI products isn't about defect rates or Six Sigma metrics. It's about building something users actually need, which requires constant exploration of the adjacent possible. You can't explore effectively if every experiment requires a three-week approval process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building for Digital Evolution
&lt;/h2&gt;

&lt;p&gt;The teams winning in AI aren't the ones with the best safety documentation. They're the ones that have created environments where good ideas can emerge from anywhere and spread quickly through the organization.&lt;/p&gt;

&lt;p&gt;This means accepting that most experiments will fail, but optimizing for the speed of those failures rather than their prevention. When failure is cheap and fast, you can afford to be wrong more often. When failure is expensive and slow, you can't afford to be right.&lt;/p&gt;

&lt;p&gt;The companies that will dominate the next decade won't be the ones that solved AI safety first. They'll be the ones that learned to harness controlled chaos as a competitive advantage while everyone else was still writing safety documentation.&lt;/p&gt;

&lt;p&gt;Your six-year-old doesn't need permission to be curious. Maybe your AI product team doesn't either.&lt;/p&gt;

</description>
      <category>aiproductmanagement</category>
      <category>chaosengineering</category>
      <category>productstrategy</category>
      <category>aisafety</category>
    </item>
    <item>
      <title>Building Internal Tools That Make Your Team Scale Like Software</title>
      <dc:creator>Jai kora</dc:creator>
      <pubDate>Sat, 16 May 2026 12:59:59 +0000</pubDate>
      <link>https://forem.com/jaikora/building-internal-tools-that-make-your-team-scale-like-software-2g81</link>
      <guid>https://forem.com/jaikora/building-internal-tools-that-make-your-team-scale-like-software-2g81</guid>
      <description>&lt;h1&gt;
  
  
  Building Internal Tools That Make Your Team Scale Like Software
&lt;/h1&gt;

&lt;p&gt;I've been watching teams get drunk on internal tooling lately, and it's fascinating how predictably it goes wrong. The pattern is always the same: massive excitement about AI agents that can automate everything, followed by a Cambrian explosion of custom tools, then the slow realization that managing seventeen different automation systems has become a full-time job.&lt;/p&gt;

&lt;p&gt;The tools that actually stick around follow what I call the "eat like a dog" philosophy. Dogs don't reinvent their entire diet every week. They find something that works and stick with it, making small improvements around the edges. Your internal tools should work the same way.&lt;/p&gt;

&lt;p&gt;The best implementations I've seen lately embed themselves so deeply into existing workflows that they become invisible. Instead of creating a new ritual where everyone has to check the AI dashboard every morning, they surface insights in Slack where your team already lives. Instead of building a separate system for status updates, they pull from your existing tools and generate the summary automatically.&lt;/p&gt;

&lt;p&gt;I keep seeing teams build elaborate custom interfaces for their AI tools when the real win is making them disappear entirely. The moment you ask someone to learn a new system or change their habits, adoption drops off a cliff. But when the tool just makes their existing work faster and smarter, it becomes indispensable.&lt;/p&gt;

&lt;p&gt;The compound effect happens when your tools learn from your team's actual patterns instead of imposing theoretical best practices. Your AI should know that Sarah always asks about database performance in standups, so it proactively includes those metrics. It should recognize that the last three critical bugs came from the payment flow, so it flags changes there for extra review.&lt;/p&gt;

&lt;p&gt;The teams doing this right aren't building tools that feel like AI. They're building tools that feel like having a really good senior engineer who never forgets anything and works all night preparing exactly what you need for tomorrow's decisions.&lt;/p&gt;

&lt;p&gt;What's the one manual process your team does every week that makes everyone groan when it comes up?&lt;/p&gt;

</description>
      <category>internaltools</category>
      <category>developerproductivity</category>
      <category>automation</category>
      <category>teamscaling</category>
    </item>
    <item>
      <title>The Planning Problem: Why Smart Engineers Are Stuck Solving Trivial AI Tasks</title>
      <dc:creator>Jai kora</dc:creator>
      <pubDate>Sat, 16 May 2026 12:34:24 +0000</pubDate>
      <link>https://forem.com/jaikora/the-planning-problem-why-smart-engineers-are-stuck-solving-trivial-ai-tasks-381g</link>
      <guid>https://forem.com/jaikora/the-planning-problem-why-smart-engineers-are-stuck-solving-trivial-ai-tasks-381g</guid>
      <description>&lt;h1&gt;
  
  
  The Planning Problem: Why Smart Engineers Are Stuck Solving Trivial AI Tasks
&lt;/h1&gt;

&lt;p&gt;Your engineers can delegate to AI. They can assess what comes back. They can even compound successful patterns into reusable workflows. But ask them to plan before they start coding, and you'll watch senior developers stumble around like junior engineers figuring out their first API integration.&lt;/p&gt;

&lt;p&gt;This isn't a skills problem. It's a process problem that's wasting the most expensive talent in your organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Skills Paradox
&lt;/h2&gt;

&lt;p&gt;According to the 2024 Stack Overflow survey, 76% of developers spend time on tasks they consider below their skill level. Meanwhile, GitHub Copilot adoption shows 88% of developers use AI tools but only 23% report significant productivity gains. The math here is brutal: we're automating the wrong things while leaving the hard problems untouched.&lt;/p&gt;

&lt;p&gt;Most engineering teams follow a predictable pattern when adopting AI tools. They excel at three of the four critical phases: delegation ("write this function"), assessment ("this code looks wrong"), and compounding ("save this pattern for next time"). But they systematically skip the planning phase, treating AI like an advanced autocomplete instead of a reasoning partner.&lt;/p&gt;

&lt;p&gt;The result? Senior engineers spend their days generating boilerplate code and debugging obvious errors instead of solving the architectural problems that actually move the business forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Real Planning Looks Like
&lt;/h2&gt;

&lt;p&gt;Planning isn't writing a requirements document that nobody reads. It's teaching your AI assistant to think through the problem the same way you would, before any code gets written.&lt;/p&gt;

&lt;p&gt;Consider the difference between these two approaches:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Without planning&lt;/strong&gt;: "Build me a user authentication system"&lt;br&gt;
&lt;strong&gt;With planning&lt;/strong&gt;: "We need auth that handles three user types with different permission levels, integrates with our existing session management, and gracefully handles the edge case where enterprise users can belong to multiple organizations"&lt;/p&gt;

&lt;p&gt;The first approach gets you a generic login form. The second gets you a solution designed for your actual problem.&lt;/p&gt;

&lt;p&gt;Effective planning means decomposing complex features into clear problem statements, identifying integration points with existing systems, and explicitly calling out edge cases that would otherwise surface during testing. When you plan properly, your AI assistant can reason about trade-offs instead of just pattern-matching against Stack Overflow examples.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Teams Skip Planning
&lt;/h2&gt;

&lt;p&gt;The reason teams avoid planning has nothing to do with laziness and everything to do with incentives. Planning feels slow when you can generate working code in seconds. Why spend an hour thinking through requirements when ChatGPT can spit out a solution right now?&lt;/p&gt;

&lt;p&gt;Because that "solution" won't handle the complexity of your actual system. It won't consider your performance constraints, your data consistency requirements, or the fact that your users do weird things that break standard implementations.&lt;/p&gt;

&lt;p&gt;Planning also requires a different kind of thinking. Delegation and assessment are reactive skills. You can get better at them through repetition. Planning is generative. It requires understanding the problem space well enough to anticipate what could go wrong.&lt;/p&gt;

&lt;p&gt;This is exactly the kind of work that senior engineers should be doing. Instead, they're stuck debugging code that wouldn't exist if someone had planned properly in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ROI Crisis
&lt;/h2&gt;

&lt;p&gt;Here's why this matters beyond developer productivity. According to the 2024 McKinsey AI reports, 70% of companies report AI projects fail to move beyond pilot phase. Organizations invested heavily in AI tools expecting immediate returns, and now they're facing hard questions about value delivery.&lt;/p&gt;

&lt;p&gt;The problem isn't the tools. The problem is how they're being used. When your most expensive engineers spend their time on tasks that could be handled by junior developers or automated entirely, you're not getting AI acceleration. You're getting expensive inefficiency with better syntax highlighting.&lt;/p&gt;

&lt;p&gt;Companies that crack the planning problem see different results. Their AI projects tackle meaningful architectural challenges. Their senior engineers focus on system design and problem decomposition. Their code quality improves because problems get solved at the design level instead of patched in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Planning Into Your Workflow
&lt;/h2&gt;

&lt;p&gt;The fix isn't complex, but it requires discipline. Before any AI delegation happens, teams need to answer three questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What problem are we actually solving, including edge cases and integration requirements?&lt;/li&gt;
&lt;li&gt;How does this solution fit into our existing architecture and what are the potential failure modes?&lt;/li&gt;
&lt;li&gt;What success looks like, beyond "the code runs without errors"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This takes time upfront. But it saves exponentially more time during implementation and debugging. More importantly, it ensures your AI tools are being used to solve real engineering problems instead of generating glorified tutorials.&lt;/p&gt;

&lt;p&gt;The teams that figure this out first will have a significant competitive advantage. While everyone else is using AI for better autocomplete, they'll be using it for better architecture.&lt;/p&gt;

&lt;p&gt;Stop wasting your senior engineers on junior problems. Make them plan.&lt;/p&gt;

</description>
      <category>engineeringmanagement</category>
      <category>aiadoption</category>
      <category>problemsolving</category>
      <category>technicalleadership</category>
    </item>
    <item>
      <title>Building ARCHITECTURE.md Files That Prevent AI From Making Silent Architectural Decisions</title>
      <dc:creator>Jai kora</dc:creator>
      <pubDate>Sat, 16 May 2026 11:23:13 +0000</pubDate>
      <link>https://forem.com/jaikora/building-architecturemd-files-that-prevent-ai-from-making-silent-architectural-decisions-2cil</link>
      <guid>https://forem.com/jaikora/building-architecturemd-files-that-prevent-ai-from-making-silent-architectural-decisions-2cil</guid>
      <description>&lt;h1&gt;
  
  
  Building ARCHITECTURE.md Files That Prevent AI From Making Silent Architectural Decisions
&lt;/h1&gt;

&lt;p&gt;A few weeks into our experiment with an AI coding assistant, I noticed something odd. Variable names were shifting. Not dramatically. A rename here, a slightly reworded method there. Each change seemed reasonable in isolation. Professional, even.&lt;/p&gt;

&lt;p&gt;But collectively, they were rewriting our architecture one rename at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Silent Coup
&lt;/h2&gt;

&lt;p&gt;It started innocuously. The assistant would suggest replacing a small, plainly named method with a longer, more "enterprise" sounding one. The PR looked fine. More descriptive, right? Then it began restructuring how we organized service classes, introducing new abstraction layers that felt Enterprise Java-ish. Again, each individual change passed code review because none were objectively wrong.&lt;/p&gt;

&lt;p&gt;Our human reviewers saw isolated improvements. Our automated reviewer, another AI, rubber-stamped the changes because they followed general best practices. No linter flags a variable rename. No formatter catches architectural drift.&lt;/p&gt;

&lt;p&gt;A few weeks later, our codebase felt foreign. The naming conventions had subtly shifted toward verbose enterprise patterns. Service boundaries had blurred as the assistant introduced "helper managers" and "utility coordinators." The original lean architecture was drowning in abstraction.&lt;/p&gt;

&lt;p&gt;The honest truth hit during standup when someone asked: "Why does this keep coming up?" We had spent half our sprint discussions untangling unnecessarily complex class hierarchies that had not existed a month prior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Traditional Safeguards Failed
&lt;/h2&gt;

&lt;p&gt;This was not a tooling problem. Our static analysis caught syntax violations perfectly. Our formatters maintained consistent indentation. Linters enforced style rules religiously.&lt;/p&gt;

&lt;p&gt;But architectural decisions live in the spaces between the rules. When the assistant chose composition over inheritance, or decided to extract a new service class, or renamed methods to follow different conventions, these choices were invisible to mechanical constraints.&lt;/p&gt;

&lt;p&gt;Human reviewers failed too, and for understandable reasons. Who flags a PR that renames a couple of variables and extracts a helper method? The changes looked professional. They followed general principles we had all learned in computer science classes.&lt;/p&gt;

&lt;p&gt;The AI reviewer was even worse. It enthusiastically approved changes that made the code "more maintainable" according to whatever training data informed its judgment. Two AIs agreeing does not create architectural coherence. It creates compounded drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Worked
&lt;/h2&gt;

&lt;p&gt;I started keeping an ARCHITECTURE.md file. Not as punishment for the assistant, but as explicit guidance about our actual architectural decisions and why we made them.&lt;/p&gt;

&lt;p&gt;The file documents our naming conventions, why we keep service classes thin, and why we avoid deep inheritance hierarchies. More importantly, it explains the reasoning behind these choices: performance characteristics, team preferences, and integration constraints.&lt;/p&gt;

&lt;p&gt;Every time the assistant made a questionable architectural call, I updated the document. When it introduced unnecessary abstraction layers, I added a section explaining our preference for composition patterns. When it renamed methods to be more "descriptive," I clarified our naming philosophy and provided examples.&lt;/p&gt;

&lt;p&gt;This created a feedback loop that actually worked. The assistant began suggesting changes that aligned with our documented architecture. Not because it suddenly understood our preferences, but because the context was explicit rather than implied.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Documentation Defense
&lt;/h2&gt;

&lt;p&gt;The ARCHITECTURE.md file serves as a kind of architectural constitution, a set of principles that constrain both human and AI decision-making. It is not comprehensive documentation of every class and method. It is the theory of the system: how business problems map to code structure, what rules must always hold, and why certain patterns are preferred over alternatives.&lt;/p&gt;

&lt;p&gt;I organize it around decision rationale rather than implementation details. Instead of documenting what the code does, it explains why it is structured that way. This gives both humans and AI agents the context needed to make consistent architectural choices.&lt;/p&gt;

&lt;p&gt;The file evolves with the system. When we change architectural direction, we update the documentation. When AI agents make questionable choices, we refine the guidance. It is a living document that captures institutional knowledge about how we build software.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Uncomfortable Reality
&lt;/h2&gt;

&lt;p&gt;AI coding assistants are exceptionally good at writing code that works. They are terrible at understanding why your architecture exists and what constraints shaped its evolution. Without explicit guidance, they will optimize for whatever patterns dominated their training data, usually enterprise Java or academic computer science examples.&lt;/p&gt;

&lt;p&gt;This is not the assistant's fault. It is doing exactly what we asked: writing better code according to general principles. The problem is that "better" is contextual, and context lives in documentation that most teams never write.&lt;/p&gt;

&lt;p&gt;The ARCHITECTURE.md approach is not elegant or automated. It requires discipline to maintain and vigilance to enforce. But it is the only method I have found that consistently prevents AI agents from silently rewriting your architectural decisions.&lt;/p&gt;

&lt;p&gt;Because the alternative, discovering weeks later that your codebase has quietly become someone else's idea of good architecture, is far worse than the effort of writing it down.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>aidevelopment</category>
      <category>documentation</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
