<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Crhistian Cardona on Medium]]></title>
        <description><![CDATA[Stories by Crhistian Cardona on Medium]]></description>
        <link>https://medium.com/@crhisto?source=rss-2aadd99d4b28------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*FlomFeryHi42ZhPLnO1Z8Q.jpeg</url>
            <title>Stories by Crhistian Cardona on Medium</title>
            <link>https://medium.com/@crhisto?source=rss-2aadd99d4b28------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 05:16:46 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@crhisto/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[OpenAI and Anthropic Will Lend You Their Harness. Should You Borrow It?]]></title>
            <link>https://medium.com/@crhisto/openai-and-anthropic-will-lend-you-their-harness-should-you-borrow-it-31d9ea42cd2e?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/31d9ea42cd2e</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[software-architecture]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Mon, 12 Oct 2026 20:30:10 GMT</pubDate>
            <atom:updated>2026-10-12T20:39:32.741Z</atom:updated>
            <content:encoded><![CDATA[<h4>A practical comparison of managed agents, AWS AgentCore, Cursor, and six open-source alternatives — and the engineering work that stays yours.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tMS3RLPP5WOS69sOonyLyA.png" /><figcaption><em>Different harnesses, different levels of control. Managed services and open-source frameworks connect agents with tools, while you remain responsible for the business rules, permissions, and budgets. (Hero image created by the author using generative AI)</em></figcaption></figure><p>There is a tempting thought when using Claude Code or Codex: <strong>why am I building an agent loop when these companies already operate one?</strong></p><p>I want an agent that can investigate a problem, use tools, keep track of its work, and come back with something useful. I would rather spend my time building the product than debugging the mechanism that decides what happens after the third tool call fails.</p><p>OpenAI and Anthropic are making that trade possible. OpenAI launched its <a href="https://developers.openai.com/api/docs/guides/agents-api/overview">managed Agents API</a> on September 10, exposing the harness behind Codex. Anthropic offers <a href="https://platform.claude.com/docs/en/managed-agents/overview">Claude Managed Agents</a>. AWS also has a managed <a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-get-started.html">AgentCore harness</a> — not just infrastructure on which to host your own agent. And Cursor is taking a similar approach for software engineering, exposing its coding-agent harness through the <a href="https://cursor.com/docs/sdk/typescript">Cursor SDK</a> and Cloud Agents.</p><p>But “use our harness” can mean several different things. Before comparing features, we need to separate borrowing the agent’s behavior from outsourcing the infrastructure that runs it.</p><p>That distinction changes the architecture, the bill, and the exit strategy.</p><h3>What are we actually borrowing?</h3><p>A model produces the next response or proposes a tool call. The harness runs the surrounding process: assembling context, calling the model, dispatching tools, feeding results back, and deciding when to continue, pause, or stop. More complete harnesses add context compression, filesystem access, subagents, and approval mechanisms.</p><p>The runtime is the execution environment underneath. A sandbox isolates code execution; it is not the same thing as the orchestration loop. A framework gives you building blocks for implementing that loop and its surrounding workflows (see the concept in Figure 1).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ny5rRQ0G70mmLGaEdL4ebQ.png" /><figcaption><strong><em>Figure 1.</em></strong><em> Managed harnesses provide ready-made orchestration, while code-first frameworks offer more control over how agents work and where they run. (Diagram created with generative AI)</em></figcaption></figure><p>MCP standardizes a tool connection; it does not decide whether a particular user should be allowed to perform the operation. I would keep that authorization decision in the tool service, even when the harness provides additional permission controls.</p><blockquote><strong>A tool being available is not the same as an action being authorized.</strong></blockquote><h3>One problem, not ten unrelated demos</h3><p>Consider an incident assistant: investigate a failed checkout deployment, read logs and a runbook, cite evidence, and propose a mitigation. It must not change production without approval.</p><p>The code below contains integration fragments, not complete deployments or a performance benchmark. I have checked the API shapes against current documentation, but have not executed an end-to-end comparison. Credentials, remote-tool authentication, deployment configuration, and production error handling are omitted where they would obscure the difference.</p><p>For the local examples, save this deliberately small fixture as incident_demo.py:</p><pre>TASK = (<br>    &quot;Investigate checkout&#39;s failed deployment. Read the evidence, &quot;<br>    &quot;cite evidence IDs, state uncertainty, and propose a mitigation. &quot;<br>    &quot;Do not modify production.&quot;<br>)<br><br>def read_evidence(service: str) -&gt; str:<br>    &quot;&quot;&quot;Return read-only demo deployment evidence for a service.&quot;&quot;&quot;<br>    if service != &quot;checkout&quot;:<br>        return &quot;No evidence available for this service.&quot;<br>    return (<br>        &quot;[E1] Release 42 started at 14:02.\n&quot;<br>        &quot;[E2] Database connection timeouts increased at 14:03.\n&quot;<br>        &quot;[R1] Runbook: verify connection-pool limits before rollback.&quot;<br>    )</pre><p>For managed services, assume this same tool is exposed through a configured, authenticated, read-only MCP server. A local Python function does not automatically become a cloud-accessible tool.</p><h3>Four ways to hand over the harness</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*usWs5IO5icSfz6V1f4820Q.png" /><figcaption><strong>Figure 2</strong>. <em>The agent-building landscape: what managed harnesses handle, what frameworks let you customize, and what you still own. (Diagram created with generative AI)</em></figcaption></figure><h4>OpenAI Agents API: borrow the Codex machinery</h4><p>The interesting part is not another wrapper around a model call. OpenAI manages context compaction, tool discovery and execution patterns, and optional parallel subagents. The execution environment can be OpenAI-hosted, self-hosted, or supplied by a sandbox partner.</p><p>A minimal launch looks like this:</p><pre>import os<br>from openai import OpenAI<br>from incident_demo import TASK<br><br>session = OpenAI().beta.agents.sessions.create(<br>    agent={<br>        &quot;model&quot;: os.environ[&quot;OPENAI_AGENT_MODEL&quot;],<br>        &quot;tools&quot;: [{<br>            &quot;type&quot;: &quot;mcp&quot;, &quot;server_label&quot;: &quot;incidents&quot;,<br>            &quot;transport&quot;: {<br>                &quot;type&quot;: &quot;http&quot;,<br>                &quot;server_url&quot;: os.environ[&quot;INCIDENT_MCP_URL&quot;],<br>            },<br>        }],<br>    },<br>    environment={&quot;type&quot;: &quot;openai_hosted&quot;},<br>    input=TASK,<br>)<br>print(session.id)  # Launches a session; consume its events separately.</pre><p>The session/event model matters: your web request does not need to remain the lifetime of the investigation.</p><p><strong>I would choose it for open-ended, tool-heavy investigations or workspace tasks when I want OpenAI to maintain the orchestration machinery</strong>. I would hesitate when I need to replace the loop’s internal decisions or require a provider-independent managed service. It is also a public beta, which belongs in the production-risk discussion.</p><h4>Claude Managed Agents: delegate the session, not just the response</h4><p>Anthropic separates the agent definition, execution environment, session, and events. Its managed harness includes file operations, shell access, web tools, MCP, caching, and compaction. Cloud and self-hosted sandboxes are supported. As of October 2026, the service remains in beta.</p><p>With the agent and environment already configured:</p><pre>import os<br>from anthropic import Anthropic<br>from incident_demo import TASK<br><br>client = Anthropic()<br>session = client.beta.sessions.create(<br>    agent=os.environ[&quot;CLAUDE_AGENT_ID&quot;],<br>    environment_id=os.environ[&quot;CLAUDE_ENVIRONMENT_ID&quot;],<br>    title=&quot;Checkout incident&quot;,<br>)<br>client.beta.sessions.events.send(session.id, events=[{<br>    &quot;type&quot;: &quot;user.message&quot;,<br>    &quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;, &quot;text&quot;: TASK}],<br>}])<br>print(session.id)  # Stream or retrieve session events separately.</pre><p>The SDK supplies the required Managed Agents beta header.</p><p><strong>I would choose it for Claude-centered research, coding, document work, or investigations that need persistent sessions without a homegrown execution service</strong>. I would not choose it merely for a short classification request. That rarely needs a managed workspace.</p><p>Data requirements can settle the question before model quality does: <a href="https://platform.claude.com/docs/en/managed-agents/overview">Claude Managed Agents is currently not eligible for Zero Data Retention</a>. Hosting the sandbox yourself does not mean you have moved every part of the managed service into your infrastructure.</p><h4>AWS AgentCore: do not confuse the harness with Runtime</h4><p>AWS has three things people often collapse into one. Agents for Amazon Bedrock provides managed orchestration using facilities such as action groups and knowledge bases. AgentCore Runtime hosts your agent code. AgentCore harness supplies a configured agent loop on top of the platform.</p><p>The managed harness is powered by Strands. It supports multiple model providers and connections to AgentCore capabilities such as Gateway, Memory, Browser, and Code Interpreter. AWS documents it as generally available in supported regions.</p><p>With a harness and its read-only tools already deployed:</p><pre>import os, uuid<br>import boto3<br>from incident_demo import TASK<br><br>client = boto3.client(&quot;bedrock-agentcore&quot;, region_name=&quot;us-west-2&quot;)<br>response = client.invoke_harness(<br>    harnessArn=os.environ[&quot;HARNESS_ARN&quot;],<br>    runtimeSessionId=str(uuid.uuid4()),<br>    messages=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: [{&quot;text&quot;: TASK}]}],<br>)<br>for event in response[&quot;stream&quot;]:<br>    print(event)</pre><p>That UUID is useful beyond the demo: reuse the session identifier to continue an investigation rather than accidentally creating a new conversation.</p><p>For an AWS-heavy application, this would be high on my shortlist. The appeal is model choice plus the surrounding identity, networking, tools, and operations — not a claim that AWS’s reasoning is intrinsically better.</p><p>There is also an escape route: <a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-export.html">export the harness to Strands code</a> and run it on Runtime when configuration becomes limiting. That is useful, although it is not an automatic migration of every dependency away from AWS.</p><h4>Cursor: borrow the coding harness</h4><p>Cursor is another interesting option, particularly when the agent’s job is software engineering. With the <a href="https://cursor.com/docs/sdk/typescript">Cursor SDK</a>, developers can use the same agent harness behind Cursor’s IDE and CLI from their own applications. It supports codebase context, tools, MCP, hooks, and subagents, with execution either locally or in Cursor’s cloud.</p><p><a href="https://cursor.com/docs/cloud-agent">Cursor Cloud Agents</a> can work inside isolated development environments, modify code, run tests, and create pull requests. That makes Cursor attractive for tasks like investigating a failed deployment, identifying a regression, implementing a fix, and validating the changes.</p><p>I would consider Cursor for coding-heavy automation, especially when the workflow revolves around repositories and CI/CD. I would be less inclined to use it for a general-purpose business agent, where a less specialized harness might be a better starting point.</p><p>The SDK and Cloud Agents API are still in public beta, and usage follows Cursor’s model-based pricing.</p><pre>import { Agent } from &quot;@cursor/sdk&quot;;<br><br>const agent = await Agent.create({<br>  apiKey: process.env.CURSOR_API_KEY!,<br>  local: { cwd: process.cwd() },<br>});<br><br>const run = await agent.send(<br>  &quot;Investigate the checkout deployment regression. Do not modify production.&quot;<br>);<br><br>console.log((await run.wait()).result);</pre><h3>And the OpenAI and Claude SDKs?</h3><p>They are not synonyms for the managed services. <a href="https://developers.openai.com/api/docs/guides/agents/sdk">OpenAI’s Agents SDK</a> is a code-first orchestration library with tools, handoffs, guardrails, and tracing. <a href="https://platform.claude.com/docs/en/agent-sdk/overview">Claude’s Agent SDK</a> exposes the agent loop and capabilities behind Claude Code as a library. You can borrow those abstractions while retaining responsibility for deployment and isolation.</p><p>That middle ground is easy to miss: <strong>you do not have to choose between a managed API and writing everything yourself.</strong></p><h4>A quick rule of thumb:</h4><blockquote>If the work is open-ended and the agent needs to manage its own tools, context, and execution, I would start by evaluating a managed harness. If the product requires explicit workflows, approval steps, or strict output contracts, I would lean toward a code-first framework. And for a simple, bounded task, I would first ask whether I need an agent at all.</blockquote><h3>Six alternatives when you want more ownership</h3><h4>Deep Agents: a ready-made harness you can customize</h4><p><a href="https://reference.langchain.com/python/deepagents">LangChain’s Deep Agents</a> is closer to a prepared harness than a blank workflow canvas. It supplies filesystem-oriented capabilities, context management, and subagents, using LangGraph underneath. Explicit to-do planning can be added through middleware.</p><pre>from deepagents import create_deep_agent<br>from langchain.agents.middleware import TodoListMiddleware<br>from incident_demo import TASK, read_evidence<br><br>agent = create_deep_agent(<br>    model=&quot;anthropic:claude-sonnet-4-6&quot;,<br>    tools=[read_evidence],<br>    middleware=[TodoListMiddleware()],<br>)<br>result = agent.invoke({&quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: TASK}]})</pre><p><strong>I would use it when the job benefits from a workspace, substantial context, and delegation, but I want to own or change the harness</strong>. I would avoid the extra machinery for a narrowly bounded extraction task. Filesystem abstractions also do not remove the need to provision and secure real execution environments.</p><h4>LangGraph: make the workflow explicit</h4><p><a href="https://reference.langchain.com/python/langgraph/types/interrupt">LangGraph</a> is a lower-level orchestration runtime, not a preconfigured autonomous worker. Its useful distinction here is explicit state and control flow, with persistence and interruption mechanisms.</p><p>For our incident assistant, an approval node could be:</p><pre>from langgraph.types import interrupt<br><br>def review_mitigation(state: dict) -&gt; dict:<br>    decision = interrupt({<br>        &quot;proposal&quot;: state[&quot;proposal&quot;],<br>        &quot;evidence&quot;: state[&quot;evidence&quot;],<br>    })<br>    return {&quot;approved&quot;: decision is True}</pre><p>This belongs inside a graph configured with a durable checkpointer and a thread identifier. Resume it through an authenticated application path; the snippet is not a complete authorization system. Nodes can restart when resumed, so external side effects need careful placement and idempotency.</p><p><strong>I would use it when “investigate → review → authorize” is a requirement, not a suggestion</strong>. I would not start here merely to reconstruct defaults another harness already provides.</p><h4>Strands: a compact loop without committing to managed orchestration</h4><p><a href="https://strandsagents.com/docs/user-guide/sdk/quickstart/python/">Strands</a> offers a model-driven agent loop with Python tools and multiple model providers. Hooks let developers inspect or alter behavior at lifecycle boundaries.</p><pre>import os<br>from strands import Agent, tool<br>from strands.models import BedrockModel<br>from incident_demo import TASK, read_evidence<br><br>agent = Agent(<br>    model=BedrockModel(model_id=os.environ[&quot;BEDROCK_MODEL_ID&quot;]),<br>    tools=[tool(read_evidence)],<br>)<br>print(agent(TASK))</pre><p>Configure AWS credentials, region, and an accessible Bedrock model before running this example.</p><p><strong>I would use Strands when I want a small amount of agent code and an AWS-friendly deployment path while retaining control of the application</strong>. I would not mistake that short script for a complete production platform. Hosting, isolation, persistence, and operational policies still need a design.</p><h4>Pydantic AI: make the output a contract</h4><p>For an agent inside a backend service, I often care less about its persona than whether the next component receives a usable object. <a href="https://pydantic.dev/docs/ai/core-concepts/agent/">Pydantic AI</a> supports typed dependencies, tool arguments, and validated structured outputs across multiple providers.</p><pre>from pydantic import BaseModel<br>from pydantic_ai import Agent<br>from incident_demo import TASK, read_evidence<br><br>class IncidentReport(BaseModel):<br>    hypothesis: str<br>    evidence_ids: list[str]<br>    proposed_action: str<br><br>agent = Agent(&quot;anthropic:claude-sonnet-4-6&quot;, output_type=IncidentReport)<br>agent.tool_plain(read_evidence)<br>report = agent.run_sync(TASK).output</pre><p>A successful result has the declared structure; an unsuccessful run can still raise an error. And structural validation does not prove that the hypothesis is correct or that the cited evidence supports it.</p><p><strong>I would use it for typed backend integrations and bounded agent services</strong>. I would not expect the basic agent declaration to provision a secure, long-running cloud workspace.</p><h4>CrewAI: useful roles, not an imaginary org chart</h4><p><a href="https://docs.crewai.com/introduction">CrewAI</a> organizes work through agents, tasks, crews, and Flows. Its documentation recommends Flows for production structure, with crews doing work inside those steps.</p><p>The smallest crew for the same investigation is:</p><pre>import os<br>from crewai import Agent, Crew, Task<br>from crewai.tools import tool<br>from incident_demo import TASK, read_evidence<br><br>investigator = Agent(<br>    role=&quot;Incident investigator&quot;,<br>    goal=&quot;Produce an evidence-backed diagnosis&quot;,<br>    backstory=&quot;A cautious engineer who distinguishes evidence from guesses.&quot;,<br>    tools=[tool(&quot;read_evidence&quot;)(read_evidence)],<br>    llm=os.environ[&quot;CREW_MODEL&quot;], max_iter=5,<br>)<br>investigation = Task(<br>    description=TASK,<br>    expected_output=&quot;Diagnosis, evidence IDs, and proposal&quot;,<br>    agent=investigator,<br>)<br>result = Crew(agents=[investigator], tasks=[investigation]).kickoff()</pre><p>Roles and tasks become valuable when the work genuinely separates into investigation, technical review, and communication. Those abstractions are supported directly rather than being naming conventions around functions.</p><p><strong>I would use it for meaningful delegation inside a controlled process</strong>. I would avoid adding agents just to simulate a department. Every additional model conversation should earn its cost through a measurable improvement.</p><h4>Google ADK: agent development with a broader application toolkit</h4><p><a href="https://google.github.io/adk-docs/">Google ADK</a> combines agent definitions, tools, sessions, evaluation, and workflow composition. It is open source and designed for model and deployment flexibility, although Gemini and Google’s ecosystem are natural integration points.</p><p>In an ADK project’s agent.py:</p><pre>import os<br>from google.adk.agents.llm_agent import Agent<br>from incident_demo import TASK, read_evidence<br><br>root_agent = Agent(<br>    name=&quot;incident_investigator&quot;,<br>    model=os.environ[&quot;GEMINI_MODEL&quot;],<br>    instruction=TASK,<br>    tools=[read_evidence],<br>)</pre><p>The ADK runner or development interface executes this definition; constructing root_agent alone does not start the investigation.</p><p><strong>I would use it when its development tooling and workflow primitives fit the team’s platform</strong>. I would not switch a functioning stack solely because another provider now has a framework. Sequential, parallel, and loop workflows are useful capabilities, not a reason to migrate on their own.</p><h3>The harness can be free. The agent is not.</h3><p>There are at least five items in the bill: <strong>model inference, tools, execution, state/observability, and engineering time</strong>. “No harness fee” describes only part of that equation.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FiR1AQ%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FiR1AQ%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FiR1AQ%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="532" frameborder="0" scrolling="no"><a href="https://medium.com/media/ac3913aa7dbbd4981c92695902326bf5/href">https://medium.com/media/ac3913aa7dbbd4981c92695902326bf5/href</a></iframe><p>Here is a deliberately small estimate. Assume <strong>10,000 investigations per month</strong>, each consuming <strong>20,000 input tokens and 2,000 output tokens across its entire run</strong>. At an illustrative $3/$15 per million input/output tokens, inference is <strong>$900</strong>. These are <a href="https://platform.claude.com/docs/en/models/sonnet-4-6/overview">Claude Sonnet 4.6’s published base rates</a>, not a shared price available across every vendor.</p><p>If each investigation spends three minutes in Claude’s running status, that is 500 session-hours: <strong>$40 in runtime</strong>, or <strong>$940 including this token assumption</strong>, before additional tools and services. The <a href="https://platform.claude.com/docs/en/about-claude/pricing">Claude pricing documentation</a> specifies $0.08 per running session-hour.</p><p>For an AgentCore microVM thought experiment, assume the same three-minute lifetime, one vCPU active for 30% of it, and a constant 4 GB of billable memory. The resource subtotal is approximately <strong>$32.33</strong>. This excludes models, other services, and any startup or idle lifetime beyond those three minutes. AWS does not charge inactive CPU during a wait, but memory can remain billable. See <a href="https://aws.amazon.com/bedrock/agentcore/pricing/">AgentCore pricing and metering</a>.</p><p>OpenAI illustrates another budgeting trap. Its <a href="https://platform.openai.com/pricing">published pricing</a> lists <strong>$0.12 for a 4 GB container per 20-minute session</strong>, while also stating that eligible container sessions are billed by the minute with a five-minute minimum. That distinction matters for thousands of short tasks, but the published wording alone does not establish which billing treatment applies to a particular Agents API environment. I would confirm the metering rule for my chosen setup rather than present one of those interpretations as the expected bill.</p><p>Cursor takes a different approach. Its <a href="https://cursor.com/docs/sdk/typescript">SDK and Cloud Agents</a> follow model-based usage pricing, with Cursor-managed cloud execution included rather than billed separately for VM, CPU, or memory. For Teams and Enterprise customers, third-party models also carry a $0.25-per-million-token Cursor fee. Self-hosted execution adds your own infrastructure costs. That makes Cursor interesting for coding-heavy workloads, although token consumption, model choice, and the number of agent iterations still determine the actual bill.</p><p>These numbers are not a price-performance ranking. The environments are not identical, and different models and harnesses can consume different numbers of tokens to achieve the same result. Safe reuse, caching, retries, and subagent fan-out can change the outcome.</p><p>The metric I would optimize is <strong>total cost per accepted result</strong>, including failed runs and human review — not the price of one successful-looking demo.</p><h3>What none of them takes off your hands</h3><p>For the incident assistant, my first release would have read-only production credentials. A proposed rollback would be data sent to a separate approval process — not a shell command the model can execute because its prompt says to be careful.</p><p>I would test missing logs, contradictory evidence, malicious instructions embedded in a runbook, revoked credentials, interrupted sessions, and duplicate tool requests. I would also check whether a budget stops execution when expected: Anthropic, for example, documents enforcement between model requests, so an in-flight request can take the session past its configured cap.</p><p>A self-hosted sandbox is not a promise of zero provider-side retention. <a href="https://developers.openai.com/api/docs/guides/agents-api/overview">OpenAI’s managed Agents API</a> currently retains session state, supports US data residency only, and is not ZDR-eligible even with a self-hosted sandbox.</p><p>This is where I would look hardest before adopting any platform: the permissions boundary, the recovery behavior, the retained data, and the evidence that a completed run actually completed the business task.</p><h3>So, should we borrow the harness?</h3><p>For a product whose value is open-ended investigation or workspace automation, <strong>I would start by evaluating a prepared harness rather than rebuilding one</strong>. OpenAI, Anthropic, AgentCore, Cursor, and Deep Agents all belong in that conversation, with different ownership and operating models.</p><p>For a product whose value is a reliable process, I would start from the process: perhaps LangGraph for explicit transitions, Pydantic AI for typed interfaces, Strands for a compact tool loop, CrewAI for useful delegation, or ADK for its development and workflow ecosystem. The sections above describe the tradeoffs I would validate, not benchmark winners.</p><p>These choices can also compose. AWS documents a bring-your-own-code Runtime path; borrowing AWS infrastructure does not require adopting the managed AgentCore loop.</p><p>My preference is to keep the business rules and tool contracts outside the harness wherever practical. That will not make migration free, but it gives the product fewer reasons to depend on one implementation.</p><p>OpenAI and Anthropic will lend us their harness. AWS will provide one — or run ours. Open-source frameworks give us more of the machinery to shape ourselves.</p><p><strong>Borrow the part that is not your advantage. Keep control of the part your users depend on.</strong></p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=31d9ea42cd2e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Strange Upside of Running Out of AI Tokens: Human Tokens]]></title>
            <link>https://medium.com/@crhisto/the-strange-upside-of-running-out-of-tokens-77a5196de617?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/77a5196de617</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-coding]]></category>
            <category><![CDATA[claude-code]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Thu, 27 Aug 2026 14:13:54 GMT</pubDate>
            <atom:updated>2026-10-08T19:42:27.998Z</atom:updated>
            <content:encoded><![CDATA[<h4>I kept upgrading my AI coding plans. Then I realized the limits were helping me think better, build better, and occasionally close the laptop.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xJ0M6SDDn6rzvE0cSrqpnQ.png" /><figcaption>More tokens buy more execution. Sometimes the limit buys you something more valuable: time to think (Hero image created by the author using generative AI).</figcaption></figure><p>Right now, I have multiple subscriptions to AI coding tools. Claude Code, Codex, and Cursor are basically my main stack, and then I use other tools from time to time depending on what I am building or what has been released recently. If you are using these tools every day, it becomes surprisingly easy to justify one more subscription. <strong>The more you use them, the more attractive the next plan becomes.</strong></p><p>When your usage starts reaching billions of tokens per month, another million tokens does not sound like much. You hit a limit and the immediate reaction is usually not <em>maybe I should stop</em>. It is <em>how much is the next plan?</em></p><p>I have done exactly that. I have used the $200 plans (and, for reasons I’m not ready to discuss with my credit card, sometimes more…) for periods of time, and I have also tried rotating the higher, roughly $100-level plan between the tools I use the most.</p><p>Part of the reason is simply curiosity. These labs are shipping new models, agent capabilities, integrations, reasoning modes, design features, and workflows every few weeks. I want to get comfortable with them and understand what actually changed instead of just reading the release notes.</p><p>So sometimes Claude gets the bigger plan. Another month it might be another tool. I use it heavily, experiment with the new capabilities, decide what is genuinely useful, and then rotate again. I still think there is a lot of value in doing that. But after spending some time with the biggest plans, I realized something I did not expect.</p><blockquote><strong>Having enough tokens to keep going is not always good for me</strong></blockquote><p>This is not really about saving money. And I am definitely not saying that $20 is better than $100 or $200. This is simply what has started to work better for me: <em>keep decent access to most of the tools, have a larger allowance for one of them, rotate that allowance when I want to explore something new, and accept that sometimes I am going to hit a wall.</em></p><blockquote>Because I am starting to think the wall itself has some value.</blockquote><h3>When execution becomes too easy</h3><p>One of the most impressive things about AI coding is how much it has reduced the cost of trying something. I can have an idea for a feature, describe it to an agent, get an implementation, test it, modify it, redesign part of it, refactor the architecture, and continue iterating without ever leaving the same workflow. That is amazing.</p><p>But I think it creates a strange new problem: when execution becomes extremely cheap, thinking before execution starts to feel expensive. Why spend thirty minutes deciding exactly what a feature should do when Claude Code can start implementing something right now? Why completely define a user flow if Claude can generate the screens and I can fix them afterward? Why spend an hour questioning an architectural decision if Codex can refactor the code later?</p><p>The model is always ready for the next prompt. And that makes <em>continue</em> a very dangerous button. When I had the larger plans, I noticed that I could stay inside this loop for a very long time. Generate, review, change, generate again. There was almost no external reason to stop.</p><p><strong>You can feel incredibly productive while doing this. But producing more is not necessarily the same as making more progress</strong>. Sometimes the most useful thing that can happen is simply that the tool tells me: you are done for now.</p><h3>The limit gives my brain a turn</h3><p>I have noticed this particularly when doing design work with Claude. I might start with an onboarding flow. Then I create another screen. That screen makes me realize I need more information from the user, so I modify onboarding. That affects the home screen. The home screen gives me another idea. That idea creates another flow.</p><p>Very quickly, what started as a simple product produces dozens of decisions. Claude is perfectly capable of continuing. The question is whether I should.</p><p>When I hit the usage window, I obviously feel some frustration at first. Sometimes I already have the next prompt written. But because I cannot immediately execute it, I start thinking about the product instead of the next generation.</p><blockquote>Is that information really necessary during onboarding?</blockquote><blockquote>Does this screen have too much information?</blockquote><blockquote>Would the user understand this flow?</blockquote><blockquote>Does this feature solve a real problem, or did I add it simply because generating it was easy?</blockquote><p>And quite often, when the usage window becomes available again, I do not execute the prompt that was waiting. I rewrite it. Sometimes I make it much more specific. Sometimes I combine several requests into one. Sometimes I realize I should not build the feature at all.</p><p>In those cases, the limitation did not reduce my productivity. It probably saved me from spending another few million tokens building something that I would eventually remove anyway.</p><h3>Token ROI is not only about tokens</h3><p>This has changed how I think about the economics of these subscriptions. We normally compare AI plans by looking at how much usage we receive for $20, $100, or $200. More tokens look like more value. But maybe the better question is not how many tokens I managed to consume.</p><blockquote>It is what I got from them. I have started thinking about this as <strong>token ROI</strong>.</blockquote><p>If I consume five billion tokens generating features, changing them, refactoring them, and eventually deleting half of them, that may be a worse investment than consuming two billion after spending more time deciding what should exist in the first place. The constraint also changes the way I prompt. When capacity feels unlimited, my prompts naturally become lazier.</p><blockquote>Change this.</blockquote><blockquote>Try another version.</blockquote><blockquote>Fix this.</blockquote><blockquote>Continue.</blockquote><p>When I know I have limited capacity, I think more carefully before sending the next instruction. What exactly is wrong? What should remain unchanged? What problem am I actually trying to solve? What context would prevent the model from going in the wrong direction? <strong>I end up spending more human tokens before spending AI tokens</strong>. And the result is often better.</p><h3>There is another limit we should probably respect</h3><p>There is also a part of this that has nothing to do with software or subscription economics. These tools can make it surprisingly easy to forget that you are a human being.</p><p>If you enjoy building things, coding agents are dangerous in a very specific way: there is always one more thing you can finish. The model does not get tired. At midnight it works exactly as enthusiastically as it did at 9 a.m. If you give it another prompt at 2 a.m., it is not going to tell you that perhaps this feature can wait until tomorrow.</p><p>And if you have enough tokens, there is nothing technically forcing you to stop. I have started to see the limits as a healthy constraint for this reason too. If I hit a usage window around lunch, perhaps that is actually a very good time to have lunch. Not lunch in front of another terminal while opening a second AI tool, but lunch with friends, with my wife, or with colleagues.</p><p>If the window resets later at night, that does not mean I need to organize my life around the reset. Sometimes the correct optimization is to let the tokens sit there while I sleep. This sounds obvious when you write it down. It feels less obvious when an agent is halfway through something you are excited about.</p><p>But the same pause that improves the product can improve the person building it. Going for dinner, exercising, talking to someone, sleeping properly, or simply doing something unrelated gives your brain time to process problems in the background. When you return, you often have not only more energy but different ideas.</p><p>So I am trying to make these windows coincide with boundaries that should exist in my day anyway.</p><blockquote>Lunch is a boundary.</blockquote><blockquote>Dinner is a boundary.</blockquote><blockquote>Time with my wife or friends is a boundary.</blockquote><blockquote>Sleep definitely needs to be a boundary.</blockquote><p>Instead of thinking about those hours as time where I am not using the subscription I paid for, I am starting to consider them part of the return on that subscription. A rested brain with a good prompt tomorrow can easily be worth more than another three hours of mediocre prompting tonight.</p><h3>I still want the new models</h3><p>None of this means I am becoming an AI minimalist. Quite the opposite. I still want to try the newest models. I want to understand what Claude Code changes, what Codex adds, what Cursor does differently, and what new labs bring into this space.</p><p>That is one reason rotating the bigger subscription has worked well for me. I can spend some time seriously using a tool, understand its new capabilities, and then decide whether it deserves to keep receiving most of my budget.</p><p>What has changed is that I no longer feel that I need maximum capacity across every tool simultaneously. For me, having one bigger plan and reasonable plans for the rest creates a surprisingly useful amount of friction. I have enough capacity to experiment seriously, but not so much that the answer to every problem becomes <em>send another prompt</em>.</p><p>And again, this is simply what is working for me. Someone running dozens of parallel agents or doing large-scale production work may have completely different economics. There are absolutely situations where paying for the largest plans makes sense.</p><p>My point is more personal than that. I used to think that hitting an AI limit meant I had chosen the wrong subscription. Now I sometimes think it means I have reached a good moment to think.</p><h3>Maybe we should keep some friction</h3><p>The AI industry is obviously moving toward more capacity. Context windows will get bigger. Inference will get cheaper. Agents will run longer. Subscription limits will probably keep increasing.</p><p>Technically, all of that is progress. But I think we should be careful not to lose the useful behavior that today’s limitations accidentally create. The important thing is probably not the rate limit itself. It is the pause between one execution and the next. A moment where the model stops generating and I have to decide whether the next thing deserves to be generated at all.</p><p>Because the bottleneck is changing. For a long time, building software was limited by how quickly we could turn an idea into code. AI is rapidly reducing that limitation. Increasingly, the difficult part will be deciding which ideas deserve to become code in the first place.</p><p>I can always buy more tokens. What I cannot buy as easily is another good idea, another clear hour of thinking, another night of proper sleep, or the perspective that sometimes appears only after leaving the computer.</p><p>So yes, I still compare the plans. I still rotate the bigger subscription when there is a new model or feature I want to understand. And I still get frustrated when I hit a limit in the middle of something interesting.</p><p>I just do not automatically assume anymore that more is better. Sometimes running out of tokens is exactly the reminder I need to stop generating, go live my life for a while, and come back knowing much more clearly what I want to build next.</p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=77a5196de617" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I Tried Base44 After Seeing It Everywhere. The Interesting Part Wasn’t the First App]]></title>
            <link>https://medium.com/@crhisto/i-tried-base44-after-seeing-it-everywhere-the-interesting-part-wasnt-the-first-app-fed3f84a9846?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/fed3f84a9846</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[ai-tools]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[startupş]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Thu, 30 Jul 2026 22:35:21 GMT</pubDate>
            <atom:updated>2026-07-30T22:35:21.244Z</atom:updated>
            <content:encoded><![CDATA[<h4>Wix paid approximately $80 million for an AI builder that combines apps, backends, workflows, agents, and deployment. I wanted to understand what it could actually change.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mhdqKP3BGXrMnY7kHFPRJQ.png" /><figcaption>I tested what happened after Base44 generated the first app: six meaningful iterations, 15 message credits, and several important trade-offs. (Hero image created by the author using generative AI)</figcaption></figure><p>Forty-five minutes after opening Base44, I had a private application with authentication, weighted scoring, two different portfolio views, an AI-assisted evaluator, GitHub synchronization, and a second version being checked against App Store guidelines. The entire web-app experiment used <strong>15 of the 250 message credits</strong> included in the Builder plan I purchased. The first five minutes were impressive. The next forty were the real test.</p><p>Let’s face it: I did not discover Base44 through a careful comparison of every vibe-coding platform. I discovered it because I kept seeing advertisements for it everywhere. At some point, the advertising became too difficult to ignore, so I decided to understand what was behind it.</p><p>That led me to the story of Base44, its founder Maor Shlomo, and Wix’s decision to acquire the company. Wix paid approximately <strong>$80 million</strong>, with additional performance-based payments possible through 2029, and said Base44 would continue operating as a distinct product while benefiting from Wix’s resources and distribution. Suddenly, the acquisition made a lot of sense to me.</p><p>Who has not used Wix, or at least considered it, when trying to create a simple webpage without worrying about hosting, frameworks, deployment, or a development team? Wix helped make website creation accessible to people who did not want to become web developers first.</p><p>Base44 takes that idea one step further. Instead of only describing a website, the user can describe an application, its data, its users, and its workflow. The platform then attempts to build the interface and much of the system behind it. From that perspective, Wix did not simply acquire another fashionable AI tool. It acquired a possible bridge from <strong>website creation to software creation</strong>.</p><p><strong><em>Editorial note:</em></strong><em> I use AI for research support, organization, visual ideation, and editing. The experiments, measurements, opinions, and final editorial decisions are my own.</em></p><h3>Base44 is already becoming less small</h3><p>Base44 is the first company in my <strong>Small AI Titans</strong> series, although the word <em>small</em> is already becoming questionable here. Wix reported that Base44 had reached approximately <strong>$150 million in annual recurring revenue by May 2026</strong>. It has also continued expanding into agents, integrations, model selection, production checks, mobile packaging, and its own purpose-built AI model. That is not a tiny product hiding completely outside the spotlight anymore.</p><p>However, Base44 is still much less understood than ChatGPT, Claude, Gemini, Cursor, Codex, or GitHub Copilot. Many people recognize the name from the advertising but may not know what the platform actually provides, where it performs well, or where its abstractions start becoming constraints. <strong><em>That makes it a good Small AI Titan</em></strong><em>: a focused product with real momentum, a potentially enormous market, and enough unanswered questions to make its future interesting.</em></p><h3>Wix may be buying the next step after the website</h3><p>Wix already provides much of what a digital business needs: websites, hosting, e-commerce, payments, bookings, analytics, marketing, and customer-management tools. Base44 could add the ability to create the custom software around those services.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yvp6v3qIobFOsLjDcc3khQ.png" /><figcaption>Wix’s traditional journey helps businesses get online, while the addition of Base44 could extend that path into custom applications, automated workflows, connected data, and more personalized digital operations. (Diagram created with generative AI based on my Base44 experiment)</figcaption></figure><p>This is much more interesting than another demonstration of an AI generating a dashboard. The bigger question is whether companies will continue buying a different SaaS product for every small operational problem or begin generating custom software that matches their own processes.</p><blockquote>Base44’s founder has explicitly described the market in those terms: enabling people to create software instead of buying it could replace entire software categories. That is an ambitious claim, but after testing the platform, I understand why the company is making it.</blockquote><h3>How I tested Base44</h3><p>I did not want this article to become another feature list. There are already many posts explaining Base44’s pricing, comparing it with Lovable or Replit, or showing that it can create a basic app quickly. The purpose of this test was different:</p><blockquote><em>I wanted to see what happened after the first impressive prompt.</em></blockquote><p><strong>Plan:</strong> Builder, monthly billing<br><strong>Price paid:</strong> $50<br><strong>Application:</strong> Venture Radar<br><strong>Initial generation:</strong> Less than five minutes<br><strong>Total exploration time:</strong> Approximately 45 minutes<br><strong>Message credits used:</strong> 15 of 250<br><strong>Integration credits available:</strong> 10,000<br><strong>Application visibility:</strong> Private<br><strong>Additional test:</strong> Mobile-oriented rebuild and App Store-readiness scan</p><p>This was a focused product experiment, not a production benchmark. I did not conduct load testing, long-term reliability testing, a formal penetration test, or a real App Store submission. I also did not run the application with hundreds of users. My goal was to understand the range of the product and identify where the convenience came from.</p><h3>Venture Radar: more than another task manager</h3><p>I needed an application that was understandable but complex enough to test several parts of the platform. I decided to create <strong>Venture Radar</strong>, a private workspace where founders and product builders could capture, evaluate, and prioritize business ideas.</p><p>The concept itself was not supposed to be a new startup invention. Business-idea trackers and AI validators already exist. I selected it because it required a useful combination of data, permissions, calculations, views, and AI features. The app needed:</p><pre>Venture Radar<br>│<br>├── Authentication<br>│   ├── Registration<br>│   ├── Sign in<br>│   └── Private user records<br>│<br>├── Ideas<br>│   ├── Problem<br>│   ├── Target user<br>│   ├── Industry<br>│   ├── Status<br>│   ├── Research links<br>│   ├── Assumptions<br>│   ├── Risks<br>│   └── Notes<br>│<br>├── Evaluation<br>│   ├── Market opportunity<br>│   ├── Competition<br>│   ├── Technical difficulty<br>│   ├── Monetization potential<br>│   └── Weighted final score<br>│<br>└── Portfolio<br>    ├── Dashboard<br>    ├── Search and filters<br>    ├── Table view<br>    ├── Kanban view<br>    └── Evaluation history</pre><p>This was still a manageable prototype, but it was no longer only a landing page or a static dashboard.</p><h3>The initial prompt</h3><p>My first prompt described the users, the idea fields, the available statuses, the dashboard, and the privacy requirement.</p><pre>Build a private web application called Venture Radar.<br><br>The application will help founders and product builders capture,<br>organize, evaluate, and prioritize business ideas.<br><br>Users must create an account and sign in. Every user should only<br>be able to access their own ideas and evaluations.<br><br>Each idea should include:<br><br>- Name<br>- Short description<br>- Problem being solved<br>- Target user<br>- Industry<br>- Source of the idea<br>- Current status<br>- Market opportunity score from 1 to 10<br>- Competition score from 1 to 10<br>- Technical difficulty score from 1 to 10<br>- Monetization potential score from 1 to 10<br>- Estimated time to build a proof of concept<br>- Main assumptions<br>- Risks<br>- Notes<br>- External research links<br><br>Create a dashboard showing total ideas, ideas by status,<br>average opportunity score, highest-potential ideas,<br>and recently updated ideas.<br><br>Add search, filtering, sorting, and responsive design.</pre><p>Base44 spent a few seconds planning the application and generated the first version in less than five minutes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aCFtaGdJFUG09MMGNHFcug.png" /><figcaption>The first version appeared in less than five minutes and already included a dashboard, navigation, authentication, forms, and a structured idea entity.</figcaption></figure><p>The result was simple, but it was functional enough to continue. I could navigate between the dashboard, the ideas list, and the creation form. The application had a coherent structure rather than a collection of disconnected interface components. That first result created the thought these platforms are designed to produce:</p><blockquote><em>Maybe I can actually build the complete thing here.</em></blockquote><p>However, creating that feeling is easier than maintaining it. The important part was what happened when I began modifying the app.</p><h3>The six iterations</h3><p>I divided the experiment into controlled changes rather than asking Base44 to redesign everything in one large prompt.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FkQRBV%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FkQRBV%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FkQRBV%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="320" frameborder="0" scrolling="no"><a href="https://medium.com/media/85e2c8522fac49557c0fa0064c9fb67f/href">https://medium.com/media/85e2c8522fac49557c0fa0064c9fb67f/href</a></iframe><p>This made it easier to understand which requests consumed more credits and which types of changes placed more pressure on the application.</p><h3>Adding weighted scoring</h3><p>The first modification was a weighted score that combined market opportunity, monetization potential, competition, and technical difficulty. High competition and high difficulty needed to reduce the score rather than increase it.</p><pre>export function calculateIdeaScore({<br>  marketOpportunity,<br>  monetizationPotential,<br>  competition,<br>  technicalDifficulty<br>}) {<br>  const competitionAdvantage = 11 - competition;<br>  const technicalFeasibility = 11 - technicalDifficulty;<br><br>  const score =<br>    marketOpportunity * 0.35 +<br>    monetizationPotential * 0.30 +<br>    competitionAdvantage * 0.20 +<br>    technicalFeasibility * 0.15;<br><br>  return Number(score.toFixed(1));<br>}</pre><p>This was not complicated code, but that is precisely why the example matters. A significant amount of useful business software consists of relatively simple rules connected to data, permissions, forms, views, and notifications. The logic is not revolutionary, but traditional development still requires someone to create and connect all the pieces. The scoring change used one message credit, bringing my total to 3 of 250.</p><h3>Privacy and the security scan</h3><p>The original prompt already said that every person should only access their own records. Base44 recognized the requirement and created the app as a private workspace.</p><p>I then reviewed the broader application dashboard, where Base44 exposes users, data, security, code, agents, workflows, logs, integrations, analytics, and API configuration.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ggoHSdOdyjwxsWWVnwSmCQ.png" /><figcaption>Base44 exposes the platform layer behind the application rather than treating the generated interface as a black box.</figcaption></figure><p>I ran the security scan and it identified two access-related issues. Base44 explained the recommendations, and I approved the fixes. The important detail is that the scan did not silently change everything. The platform surfaced the issues and let me decide whether to apply the proposed changes.</p><p>Base44 says the scan checks for data-permission gaps, exposed credentials, login-verification gaps, package vulnerabilities, and missing browser-security controls. Its documentation is also explicit that the app owner remains responsible for reviewing the final settings. That is the correct position. AI can make security configuration easier, but it does not remove responsibility from the person publishing the application. The privacy confirmation used one more credit, taking the total to 4 of 250.</p><h3>Adding the Kanban view</h3><p>The fourth step added a Kanban view alongside the existing table view. The intention was not only to create another visual component. I wanted Base44 to introduce a second interaction model without removing the existing one.</p><p>A user should be able to switch views and move an idea from <em>Researching</em> to <em>Validating</em> or <em>Building</em>, while the status remained consistent across the dashboard and list. Base44 created the view using two message credits, bringing the cumulative usage to 6. The application remained usable after the change, but I did not perform a complete regression test across every filter and state transition. For a production system, that would be the next step.</p><h3>The data-model change was the most revealing test</h3><p>The initial app stored the scores directly inside each idea. Later, I asked Base44 to separate the evaluations so an idea could preserve several assessments over time. The structure moved from this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pDM_svzL79WwPE4xpIGzmA.png" /><figcaption>The initial version stored every score directly inside the Idea entity. I later separated evaluations into their own entity, allowing one idea to preserve multiple assessments while keeping its core information and status independent. (Diagram created with generative AI based on my Base44 experiment)</figcaption></figure><p>This was the most expensive operation in the test. It consumed seven credits and pushed the total from 6 to 13. That makes sense. The request affected the entities, relationships, forms, calculations, dashboard queries, and existing application logic.</p><p>Base44 accepted the change and updated the application without requiring me to start again. However, I did not perform a formal migration audit to confirm every possible edge case or inspect a large set of existing records. That distinction matters. The result was encouraging for a prototype, but it should not be interpreted as proof that every production migration will be safe. This was also the point where the difference between generating software and maintaining software became visible. The first prompt is about speed. Structural evolution is about engineering.</p><h3>Adding an AI-assisted evaluation</h3><p>The final web-app feature allowed the user to ask AI for an analysis of a business idea. The evaluator was designed to return a structured response like this:</p><pre>{<br>  &quot;problem_clarity&quot;: 8,<br>  &quot;market_opportunity&quot;: 7,<br>  &quot;competition_level&quot;: 6,<br>  &quot;monetization_potential&quot;: 8,<br>  &quot;poc_difficulty&quot;: 5,<br>  &quot;main_assumptions&quot;: [<br>    &quot;The user experiences the problem frequently&quot;,<br>    &quot;The proposed output is specific enough to be useful&quot;,<br>    &quot;The target customer is willing to pay for the time saved&quot;<br>  ],<br>  &quot;main_risks&quot;: [<br>    &quot;The recommendations may be too generic&quot;,<br>    &quot;Existing platforms could add similar functionality&quot;,<br>    &quot;Customer acquisition may be harder than product development&quot;<br>  ],<br>  &quot;recommended_next_step&quot;: &quot;Interview five target users before building the full workflow.&quot;<br>}</pre><p>Creating the feature consumed two more message credits, bringing the final construction total to 15. I verified that the feature was added to the application, but I did not run a formal consistency test across dozens of repeated evaluations. I also did not measure the integration-credit cost of sustained production usage.</p><p>That would be a useful follow-up because Base44 separates the cost of creating the feature from the cost of operating it. Message credits are used while the builder changes the application. Integration credits are consumed when the live application invokes services such as LLMs, email, files, images, video, or agents.</p><h3>Where the credits actually went</h3><p>The complete web experiment used only 15 of the 250 message credits included with Builder.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zhSXj1v6EM_8E13HHpPdiQ.png" /><figcaption>The complete web-app experiment consumed 6% of the Builder plan’s monthly message allowance. The structural data-model change was considerably more expensive than the isolated UI and logic changes.</figcaption></figure><p>This was better than I expected. The model also feels reasonably transparent. Base44 shows the history, the credits used by each interaction, and the changes that need approval. There is still uncertainty because credit usage varies according to the complexity of the request and the selected model. However, it is easier to understand than raw model tokens for someone who does not want to calculate input, output, and context costs.</p><h3>The Builder plan I used</h3><p>I paid <strong>$50 for one month of Builder</strong>. The same plan currently costs $40 per month when billed annually, representing a 20% discount. It includes 250 message credits, 10,000 integration credits, backend functions, model selection, a custom domain, in-app code editing, and GitHub integration.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/327/1*cMM_xG4UXNWXWk5IKWBuRA.png" /><figcaption>I used the month-to-month Builder plan rather than testing only the free version.</figcaption></figure><p>The current pricing structure is:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FoG3cA%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FoG3cA%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FoG3cA%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="337" frameborder="0" scrolling="no"><a href="https://medium.com/media/b969196bf99073edfcc0c20df8ed9706/href">https://medium.com/media/b969196bf99073edfcc0c20df8ed9706/href</a></iframe><p>The pricing is simple at first, but Base44 contains two different economies. One is the cost of building and modifying the application. The other is the cost of people using the live app’s integrations.</p><p>A product may be inexpensive to create but consume many integration credits if every user interaction invokes an expensive model, analyzes files, generates images, or triggers agents. That is not unique to Base44, but it is something builders need to estimate before moving from prototype to product.</p><h3>Base44 feels constrained — and that may be the point</h3><p>When I looked at the code and the broader environment, I did not feel that Base44 was trying to recreate Claude Code or Codex inside a browser. It felt more constrained, more opinionated, and more guided.</p><p>That limits flexibility, but it also allows the platform to understand the application environment deeply. It controls the data layer, authentication, hosting, integrations, deployment process, and many of the tools available to the builder. A general coding agent needs to work across many languages, frameworks, cloud providers, and architectures. Base44 can concentrate on one narrower problem: creating and operating web applications inside Base44. That trade-off started making more sense when I saw the model selector.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/276/1*mRm1T4u5bl66CWjN4DgpSA.png" /><figcaption>These were the models visible in my workspace at the time of the test. The available list and model names may change.</figcaption></figure><p>My workspace offered automatic selection as well as Base 1 and several external models. Some stronger models were identified as consuming more credits.</p><p>Base44’s automatic mode chooses a model according to the request. Smaller visual changes can use faster models, while structural or logic-heavy changes can be routed to deeper reasoning models. Builder plans and higher can also select a model manually.</p><h3>Base 1 is a strategic bet</h3><p>Base 1 is Base44’s own model, trained specifically for building web applications inside its environment. The company says the goal is not to create another general-purpose frontier model. Base44 can optimize for app creation because it observes the complete feedback cycle: what users requested, what the system built, what broke, what people changed, and whether the final application worked.</p><p>That is an interesting strategic decision. Base44 now wants to own the model, builder, database, backend, and deployment environment. It is becoming a vertically integrated vibe-coding platform. Owning more of the stack could improve latency, reliability, cost control, and product quality. It could also become expensive because Base44 must remain competitive across several technical layers simultaneously.</p><p>For the user, the immediate benefit is clearer: the model does not need to understand every possible software environment. It needs to understand Base44 exceptionally well.</p><h3>GitHub integration took very little effort</h3><p>I configured GitHub during the experiment. Base44 created a repository, made the initial commit, and synchronized the project automatically. That is important because code access creates a path beyond conversational editing. A developer can inspect the generated project, clone it, work locally, and merge changes into the main branch for synchronization back into Base44.</p><p>I did not complete a long-term experiment involving manual changes followed by many subsequent AI modifications. Therefore, I cannot say how well every hand-written customization survives future prompts. However, the integration made the platform feel less closed than I expected.</p><p>The generated application still depends on Base44 services and SDKs. Owning the repository is not the same as migrating the entire backend without effort. That is a normal platform trade-off, but it needs to be understood.</p><h3>The connectors significantly expand the useful range</h3><p>The integration dashboard was another moment when Base44 started feeling more like a platform than a simple app generator.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Jt1SLYR3IqefVB8P-NYP5A.png" /><figcaption>Built-in integrations cover common AI, communication, media, and data-processing workflows without requiring the builder to configure every provider separately.</figcaption></figure><p>The workspace included connectors for services such as Snowflake, Databricks, and Wiz, as well as built-in capabilities for:</p><ul><li>Sending email</li><li>Uploading files</li><li>Extracting structured information from documents</li><li>Invoking an LLM</li><li>Generating images</li><li>Generating video and speech</li><li>Connecting agents to WhatsApp or Telegram</li></ul><p>Built-in integrations run through Base44’s managed provider setup, so creators do not need to configure separate API keys for those common operations. Each live call consumes integration credits. Base44 also supports OAuth connectors, backend functions, reusable custom integrations created from OpenAPI specifications, and account-level MCP connections that the builder chat can use while creating applications. This makes the platform flexible, but the flexibility remains opinionated. You can connect a surprising number of services, but you are still building inside a system designed around Base44’s preferred patterns.</p><h3>Agents make the platform more ambitious</h3><p>I initially expected Base44 to be an application builder. The presence of agents and Superagents changed that impression. Base44 agents can use application data, tools, connectors, reusable skills, and memory. They can also interact through WhatsApp, Telegram, and other channels. A future Venture Radar agent could work like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*00edDEu9iS2neZQny0Bg4A.png" /><figcaption>An AI-assisted Venture Radar workflow could move from initial idea analysis to continuous market monitoring, automatically updating the evaluation and notifying the founder when meaningful new signals appear. (Diagram created with generative AI based on my Base44 experiment)</figcaption></figure><p>That turns Base44 from a place where software is created into a place where software can perform work. It also creates additional risk. An agent needs reliable permissions, logs, boundaries, error handling, and approval processes, especially when it modifies records or communicates externally. For a prototype, the built-in capabilities are compelling. For a production agent, I would test failure behavior much more deeply.</p><h3>Testing and activity monitoring</h3><p>Base44 also provides an Activity Monitor where developers can inspect requests, responses, status codes, timing, and request bodies in real time. That is important because conversational building becomes frustrating when the platform hides the cause of a failure. The Activity Monitor provides at least one conventional debugging layer beneath the AI interface.</p><p>The platform also promotes verification, testing agents, and security checks before publication. These tools help reduce the gap between “the screen looks correct” and “the application actually behaves correctly,” although they do not replace human testing.</p><h3>Templates and partners are more important than they appear</h3><p>Base44 includes community templates and private workspace templates. Creators can publish templates for free or sell them, while organizations can preserve reusable internal starting points. The platform also has a partner network connecting users with developers, designers, consultants, freelancers, and agencies familiar with Base44. I find this especially interesting because it acknowledges a reality of no-code and AI-assisted development:</p><blockquote><em>Making an application easier to begin does not make every application easy to finish.</em></blockquote><p>A founder may create the first version independently and then hire an expert for an integration, a security review, a complex workflow, or production preparation.</p><p>Base44 does not mediate the contracts or payments; users and partners handle those agreements directly. An ecosystem of specialists and templates could become a meaningful advantage. Features can be copied more easily than a network of people building businesses around a platform.</p><h3>Then I rebuilt it as a mobile app</h3><p>After finishing the web experiment, I created another version of Venture Radar from scratch, this time asking Base44 to optimize it as a mobile application. The publishing flow offered two choices: web or mobile.</p><p>For mobile, Base44 organized the process into three stages:</p><ol><li>Check the app.</li><li>Build the store files.</li><li>Submit the app.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/347/1*Nso8aYWNHuCPYfTLcA7kzw.png" /><figcaption>Base44 divides mobile publishing into readiness checks, store-file generation, and submission instructions.</figcaption></figure><p>The process was easier to understand than I expected. The first stage scanned the application against App Store and Google Play guidelines. It then displayed the areas that passed and the issues that still needed improvement. In my case, most checks passed, but the scan warned about unified navigation and the back stack.</p><h4>Five iterations to reach store readiness</h4><p>The mobile refinement process required approximately five rounds. Base44 proposed the corrections, but it did not apply every change automatically. I reviewed the suggestions, sent or approved the fix through the builder, and reran the scan.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/585/1*4eIYIcKeis65domTWT1f2w.png" /><figcaption>The scanner reviewed areas such as dark mode, layouts, navigation, tabs, overscroll, selection controls, and safe-area handling.</figcaption></figure><p>The platform could then generate the files required for submission and explain the remaining steps in Apple’s and Google’s developer consoles. The documentation confirms that Base44 can scan the app, suggest improvements, and generate store packages while the user remains responsible for their developer accounts and final submission.</p><p>I still missed an easier way to test the application directly on my phone before reaching the packaging stage.</p><p>The current mobile architecture is also important to understand. Base44 packages the published web application inside a secure native web-view wrapper. That allows many web updates to appear without another store submission, but native-only capabilities such as push notifications and full offline mode are not currently supported.</p><p>For dashboards, portals, forms, booking tools, and many business apps, that may be enough. For a product whose main value depends on deep native functionality, background execution, Bluetooth, sensors, or offline-first behavior, it may not be the right architecture.</p><h3>Where Base44 is genuinely strong</h3><p>After the test, I think Base44 is particularly strong in four areas. First, <strong>it is excellent for idea validation</strong>. A founder can move from a written description to something another person can use in less than an hour.</p><p>Second, it fits <strong>internal software extremely </strong>well. Dashboards, portals, approval systems, operational tools, and structured workflows are natural candidates. Third, i<strong>t becomes especially interesting for website-adjacent applications</strong>. This is where the Wix acquisition may eventually create the strongest strategic advantage.</p><p>Finally, <strong>it is very good for nontechnical and semi-technical creators</strong>. Authentication, databases, permissions, hosting, and deployment no longer need to be separate projects before the person can evaluate the idea.</p><p>For technical users, the value is different. Base44 removes repetitive setup but still offers code access, GitHub, logs, integrations, backend functions, APIs, and MCP connections.</p><h3>Where I would be cautious</h3><p>I would be more cautious with highly specialized infrastructure. An application built around complex AWS services, unusual event-driven systems, custom machine-learning pipelines, advanced networking, or deep cloud-provider integration may eventually fight against the simplicity that makes Base44 attractive.</p><p>Base44’s opinionated environment is the source of both its speed and its limits. Scalability and reliability also remain open questions from this experiment. A successful 45-minute build does not prove how the application behaves with thousands of active users, years of data, production incidents, or repeated schema migrations.</p><p>AI-based iteration can also introduce regressions. Every prompt may touch more of the project than expected, particularly when modifying data models or cross-cutting business logic. GitHub, version history, testing, security scans, and activity monitoring reduce that risk, but they do not eliminate it.</p><h3>The Titan thesis</h3><p>Base44 could become a major platform if generating custom software becomes a normal alternative to buying generic software. Many businesses still adapt important processes to spreadsheets, shared inboxes, forms, and SaaS products that never fit particularly well.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QcxOqP5DB28yN6FQVG7BMQ.png" /><figcaption>Instead of responding to every operational problem with another SaaS subscription, a spreadsheet, or a delayed development request, Base44 introduces a more direct path: describe the workflow, generate the application, connect the needed services, test it in the real process, and keep improving it iteratively. (Diagram created with generative AI based on my Base44 experiment)</figcaption></figure><h3>The failure thesis</h3><p>Base44 could lose differentiation if full-stack application generation becomes a standard feature inside larger development environments.</p><p>Authentication, databases, deployment, integrations, and agents are quickly becoming expected features rather than permanent advantages. The platform also needs to remain valuable after the exciting first month. Attracting users who want to generate an app is easier than retaining teams through debugging, maintenance, migrations, security reviews, growth, and production incidents.</p><p>Vertical integration may become Base44’s strongest advantage, but it also creates pressure to remain competitive at the model, builder, backend, integration, deployment, and mobile layers.</p><h3>Small AI Titans scorecard</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FUUOCO%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FUUOCO%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FUUOCO%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="690" frameborder="0" scrolling="no"><a href="https://medium.com/media/4feef2116fa01f8eb0061fc76bc3754c/href">https://medium.com/media/4feef2116fa01f8eb0061fc76bc3754c/href</a></iframe><h4>Final Small AI Titan score: 8.3/10</h4><p>The score is not a scientific measurement. It is a consistent way to compare the companies covered in this series.</p><h3>My verdict</h3><p>I arrived at Base44 because the advertising became difficult to ignore. I stayed because the Wix acquisition made strategic sense and because the platform was more complete than I expected.</p><p>In approximately 45 minutes, I generated a private application, added scoring, reviewed user-level permissions, created a Kanban view, changed the data model, added AI-assisted evaluation, connected GitHub, inspected the platform environment, and pushed a second version through its mobile-readiness process.</p><p>I used only 15 of the 250 Builder message credits. That does not mean I built a production company in 45 minutes. It means I reached the point where I could test the workflow, understand the product, and put something functional in front of another person.</p><p>Base44 does not replace Claude Code, Codex, AWS, or a strong engineering team. I do not think it is trying to. Its value comes from understanding a narrower problem extremely well and removing most of the friction surrounding it. The trade-off is less flexibility. The reward is speed, coherence, and accessibility.</p><p>That is why I liked it. In the vibe-coding era, we sometimes evaluate every product as though it must replace every developer and support every possible architecture. Base44 reminded me that this is probably the wrong test.</p><p>You do not need to kill a mosquito with a cannon. Sometimes the better product is the one focused enough to solve the actual problem quickly. For that reason, Base44 deserves its position as the first <strong>Small AI Titan</strong>.</p><h3>Disclosure</h3><p>I paid for the Base44 Builder plan used in this experiment. This article is not sponsored by Base44 or Wix, and neither company reviewed or approved the screenshots, measurements, scores, or conclusions.</p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fed3f84a9846" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Small AI Titans: The AI Companies Growing Outside the Spotlight]]></title>
            <link>https://medium.com/@crhisto/small-ai-titans-the-ai-companies-growing-outside-the-spotlight-96669a759a09?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/96669a759a09</guid>
            <category><![CDATA[future-of-work]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-startups]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Wed, 29 Jul 2026 13:49:47 GMT</pubDate>
            <atom:updated>2026-07-30T22:36:01.472Z</atom:updated>
            <content:encoded><![CDATA[<h4>A new series exploring focused AI companies with useful products, growing traction, and the potential to define their categories.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dgB0lH-2ZEbHX3WI3UODOA.png" /><figcaption>The biggest AI companies dominate the spotlight, but a new generation of focused products is quietly rising around them. (Hero image created by the author using generative AI)</figcaption></figure><blockquote><em>The biggest AI companies dominate the spotlight, but a new generation of focused products is quietly rising around them.</em></blockquote><p>During the last six months, I have noticed something interesting: Most of the conversations around AI continue to focus on the same companies, products, and announcements. We talk about OpenAI, Anthropic, Google, Microsoft, Meta, Claude Code, Codex, Gemini, and Cursor. A new model is released, a benchmark changes, or one of these companies announces a new feature, and immediately the entire AI community starts discussing it.</p><p>This makes sense. These companies are building some of the most important technologies of our time, and what they do affects almost everyone working in AI. But during my day-to-day work, while researching products, testing tools, building prototypes, and trying to understand what is actually useful, I have found many smaller AI companies doing amazing things.</p><p>Some are creating applications from a simple description. Others are building infrastructure that allows AI agents to navigate websites. Some are changing how people automate their work, create mobile apps, interact with computers using their voice, or choose between hundreds of AI models. Many of these products have great functionality, real users, and interesting ideas. However, they are not receiving the same level of attention. Sometimes I discover one of them and wonder:</p><p><strong>Why is nobody talking about this?</strong></p><p>That question gave me the idea for this series. Instead of focusing only on the big fish, I want to explore the smaller AI companies that are building focused products with the potential to become much bigger.</p><blockquote>I am calling them <strong>Small AI Titans</strong>.</blockquote><p><strong><em>Editorial note:</em></strong><em> This article was written with AI assistance for research organization, editing, and visual ideation. The analysis, opinions, source verification, and final editorial decisions are my own.</em></p><h3>There is much more happening beyond the foundation models</h3><p>It is easy to look at the AI industry and think that most of the opportunity belongs to the companies building the largest models. However, the market is already moving beyond that. According to <a href="https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/">Menlo Ventures</a>, enterprise spending on generative AI grew from approximately <strong>$1.7 billion in 2023 to $11.5 billion in 2024 and $37 billion in 2025</strong>. More importantly for this series, around <strong>$19 billion of the 2025 total went to the application layer</strong>: the products that people and companies use on top of the underlying models.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MCSFXq7PEFSHE1CT_BJlRA.png" /><figcaption>Enterprise generative AI spending grew almost 22× between 2023 and 2025. By 2025, applications alone represented $19 billion — more than half of the total market. (Data visualization created by the author using data from Menlo Ventures)</figcaption></figure><p>This is an important distinction. The foundation models get most of the attention, but more than half of enterprise generative-AI spending is already going to applications. These include coding tools, automation platforms, productivity software, healthcare products, sales applications, creative tools, and solutions designed for specific industries or jobs.</p><p>Menlo also estimates that 76% of enterprise AI use cases were purchased from vendors in 2025 rather than built completely inside the organization. In 2024, the difference between buying and building was almost equal. This suggests that companies are becoming more willing to adopt specialized AI products when those products solve a real problem and can reach production faster. In other words, the opportunity is not only in creating the next GPT, Claude, or Gemini. There is also a massive opportunity in creating the best product for one particular problem.</p><h3>AI is also changing who can build a company</h3><p>The number of people capable of creating and launching software is growing. A <a href="https://arxiv.org/abs/2605.10291">2026 research manuscript in arxiv</a> studying more than 160,000 Product Hunt launches found that entrepreneurial activity increased significantly after the release of ChatGPT, with a particularly strong increase among solo entrepreneurs. The researchers also found an important limitation: <em>lowering the barrier to launching a product does not automatically create better companies, and teams still dominate among the highest-ranked launches.</em></p><p>I think both parts of that conclusion matter: <strong>AI makes it easier to start, and it does not make it easy to succeed.</strong></p><p>Today, a small team can build an application, create its design, generate content, automate customer support, analyze user behavior, and deploy infrastructure using tools that did not exist a few years ago. But because everyone has access to similar capabilities, differentiation becomes even more important.</p><p>The winners will probably not be the companies using the greatest number of AI features. They will be the companies that understand a problem deeply, create a better experience, and find a way to reach the right users. Those are the companies I want to find with this series.</p><h3>What is a Small AI Titan?</h3><p>The word <strong>small</strong> can be confusing. A company does not need to have only five employees or be completely unknown to qualify. Some of the companies I will cover have already raised significant funding. Others have millions of users, large enterprise customers, or strong open-source communities. They are small mainly in comparison with the attention received by the dominant AI companies.</p><p>A <strong>Small AI Titan</strong> is a company or product that:</p><ul><li><em>Is not yet part of the usual mainstream AI conversation.</em></li><li><em>Solves a specific problem in an interesting way.</em></li><li><em>Has a product that people can already use or test.</em></li><li><em>Shows some evidence of adoption, growth, revenue, funding, or community interest.</em></li><li><em>Could potentially become a leader in its category.</em></li><li><em>Still has meaningful risks and could also fail.</em></li></ul><p>The last point is important. This series will not assume that every company raising money will become successful. Funding is a signal, but it is not proof of product quality, defensibility, or long-term potential.</p><p>Some of these companies may become important platforms. Some may be acquired. Some may be copied by larger companies. Others may disappear when the underlying models improve or when a feature becomes available directly inside ChatGPT, Claude, Gemini, or Microsoft 365. The interesting part is understanding which outcome is more likely — and why.</p><h3>Some of the companies already on my radar</h3><p>To make the idea more concrete, these are some of the companies and products I currently consider potential <strong>Small AI Titans</strong> and may explore in future articles: Base44, Lovable, Rork, OpenRouter, Browser Use, Gumloop, Wispr Flow, and others.</p><p>They are not all at the same stage. Some, like Lovable, were relatively small not long ago but have grown quickly and are now becoming major players in their category. Others are still at an earlier stage and are only beginning to gain traction. That difference is part of what makes the series interesting. A Small AI Titan is not defined only by its current size, but by the problem it is solving, the momentum it is building, and its potential to become much more important.</p><p>Let’s look at a few examples to make the concept clearer:</p><h4>Base44</h4><p>Base44 allows users to create functional applications by describing what they want in natural language. It handles much more than generating a user interface, including parts of the backend, data, authentication, and deployment.</p><p>Wix acquired Base44 in June 2025 for approximately <strong>$80 million</strong>, with additional performance-based payments possible through 2029. What makes the story especially interesting is how quickly the product grew before the acquisition.</p><p>The important question is not only whether Base44 can build an application. The bigger question is whether companies will continue buying many small SaaS products or start generating their own internal software for specific needs. Base44 will be the first company analyzed in this series.</p><h4>Rork</h4><p>Most AI application builders initially focused on websites and web applications. Rork chose a more specific and technically difficult target: <strong>mobile apps</strong>.</p><p>The platform converts natural-language instructions into iOS and Android applications that can be prepared for distribution through the app stores. In April 2026, Rork announced a <strong>$15 million seed round</strong> to continue developing its mobile-first platform.</p><p>Rork interests me because mobile development still involves many complications that web application builders do not need to solve. Publishing, device testing, native functionality, app-store requirements, and mobile user experience all create additional barriers. A focused company may have an advantage here over more general vibe-coding platforms.</p><h4>OpenRouter</h4><p>OpenRouter provides a unified layer through which developers can access and route requests across many AI models. This may sound like infrastructure rather than an exciting application, but model fragmentation creates a real problem. The best model can change depending on the task, price, latency, region, modality, and even the week in which you are building the product.</p><p>In May 2026, OpenRouter said its weekly volume had grown from 5 trillion to 25 trillion tokens in just six months. It also reported serving more than 8 million developers across over 400 models and announced a $113 million Series B at a reported valuation of approximately $1.3 billion. Even as I was finishing this post at the end of July 2026, this Small AI Titan was already becoming much less small. Stripe was reportedly in advanced talks to acquire OpenRouter in a deal that could value the company at around $10 billion. The negotiations were not final, but the difference between its May valuation and the reported acquisition price shows how quickly this market can change.</p><p>Brex also identified model routing and aggregation as one of the main software trends of spring 2026, based on spending data from more than 35,000 customers. Its analysis argued that value is moving toward companies that make a fragmented model ecosystem easier for users and developers to manage. OpenRouter may no longer be small in usage or funding, but it is still much less visible outside technical AI communities than the companies whose models it provides. That is exactly the type of company that belongs in this series.</p><h3>How I will evaluate each company</h3><p>I do not want this to become another series called “10 AI tools you need to try.” There are already many lists like that, and most of them explain a product in a few sentences, repeat its marketing language, and move to the next one. For each Small AI Titan, I want to go deeper. Whenever possible, I will use the product myself, test it with a real use case, and share what worked, what did not, and who I think could benefit from it.</p><p>The analysis will try to answer the same questions:</p><h3>1. What problem does it solve?</h3><p>Not what the landing page says, but the real user problem.</p><h3>2. What makes the product different?</h3><p>This may be its user experience, technology, distribution, focus, data, integrations, community, or understanding of a particular industry.</p><h3>3. Is there evidence that people actually want it?</h3><p>I will look for usage, customers, revenue, retention, funding, community activity, or other credible signals. These numbers will not always be available, and when they come directly from the company, I will identify them as company-reported.</p><h3>4. Who should use it?</h3><p>A product can be good without being useful for everyone. I want to explain who can benefit from it and in what situations.</p><h3>5. What could make it a titan?</h3><p><strong><em>This is the positive thesis</em></strong>: the reason the company could grow into a category leader.</p><h3>6. What could make it disappear?</h3><p>This may include strong competition, weak differentiation, dependence on another provider, high operating costs, privacy concerns, distribution challenges, or the risk of the product eventually becoming just another feature inside a larger platform. When it helps readers understand the product better, I may also include code snippets, technical examples, or links to relevant GitHub repositories.</p><p>At the end of each article, I will share my assessment of the company’s product differentiation, adoption, market opportunity, defensibility, and risk of being copied, followed by a final score. The score will not be a scientific measurement. It will simply help me keep the analysis consistent and make it easier to compare companies across the series.</p><h3>What this series will not be</h3><p><strong>Small AI Titans</strong> is not intended to be a collection of advertisements. None of the companies mentioned are paying me to write about them. I may have a positive opinion about a product, but I also want to discuss what does not work, where the company may be vulnerable, and whether the product is truly better than the alternatives already available.</p><p>The series will not focus only on funding announcements. Raising $50 million is an interesting signal, but it does not automatically mean that a company has a great product or a sustainable business. A small bootstrapped startup solving a real problem can be even more interesting. It will not be limited to tools for developers. AI development products are important, but I also want to explore companies working in voice, healthcare, education, creative work, personal productivity, finance, research, e-commerce, and other industries.</p><p>Finally, this series will not assume that every company covered will become enormous. The name <strong>Small AI Titans</strong> represents their potential — not a guaranteed outcome.</p><h3>Why I am starting this now</h3><p>The AI industry is moving so quickly that it is difficult to separate meaningful products from temporary experiments. New tools appear every day. Many look impressive in a demonstration but are not reliable enough for real work. Others solve a small but important problem and quietly develop loyal users before most of the market notices them.</p><p>I want to pay more attention to the second group. The large AI companies will continue to shape the industry, and I will continue following them. But the foundation models are only one layer of what is being created.</p><p>The applications built above them may determine how AI is actually experienced by most people. The next important AI company may not begin by building the smartest general-purpose model. It may begin by solving one narrow problem exceptionally well. That is the idea behind <strong>Small AI Titans</strong>.</p><p>In the first article, I will take a closer look at <strong>Base44</strong>: what it does, why Wix paid approximately $80 million for it, how it compares with other application builders, and whether products like it could change how companies decide between buying software and creating it themselves.</p><blockquote>There are many AI companies growing outside the spotlight. It is time to start looking at them.</blockquote><p><strong>Check the blog series here:</strong></p><ul><li><a href="https://medium.com/@crhisto/i-tried-base44-after-seeing-it-everywhere-the-interesting-part-wasnt-the-first-app-fed3f84a9846"><strong>SMALL AI TITANS #01: I Tried Base44 After Seeing It Everywhere. The Interesting Part Wasn’t the First App</strong></a><strong>. </strong><em>Wix paid approximately $80 million for an AI builder that combines apps, backends, workflows, agents, and deployment. I wanted to understand what it could actually change</em></li></ul><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=96669a759a09" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[If GenAI Can Make Almost Everything, What Are We For Now?]]></title>
            <link>https://medium.com/@crhisto/if-genai-can-make-almost-everything-what-are-we-for-now-cc850ea57cc2?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/cc850ea57cc2</guid>
            <category><![CDATA[leadership]]></category>
            <category><![CDATA[genai]]></category>
            <category><![CDATA[work-culture]]></category>
            <category><![CDATA[management]]></category>
            <category><![CDATA[future-of-work]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Wed, 24 Jun 2026 01:21:45 GMT</pubDate>
            <atom:updated>2026-06-24T01:21:45.228Z</atom:updated>
            <content:encoded><![CDATA[<h4>GenAI can help us move faster, but the future of work may depend on thinking better, communicating better, and staying human.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6h1CusUxs99bNGuSgZwWqQ.png" /><figcaption><em>AI can accelerate execution, but human judgment still decides what deserves to be built.</em></figcaption></figure><h3>The Question After the First Wave of Productivity</h3><p>For the last several months, we have been using a new generation of AI-assisted and agentic development tools more intensely: Claude Code, Codex, Cursor, GitHub Copilot, Windsurf, Lovable, Bolt, Devin, and Google Antigravity, among others 😱. After seeing how fast something can move from idea to prototype with the right prompts, context, skills, instructions, and constraints, I keep coming back to one uncomfortable question: <strong>if GenAI can make so many things easier, what is work about now?</strong></p><p>At first, the obvious answer seems to be productivity. Write faster. Code faster. Summarize faster. Build faster. Reduce friction. Save time. Use fewer people. Spend fewer tokens. Optimize everything. But I am starting to think that this is only the surface-level answer. The deeper question is not whether GenAI can help us create more. It can. The deeper question is what we should create, why we should create it, who should be involved, and how we make sure the system we are building does not quietly erase the human part of the work.</p><p>Because there is a real risk here. If we are not careful, we will take a technology that could give us more space to think, communicate, collaborate, and rest, and we will use it only to compress more work into the same amount of time. We will save hours, and then immediately fill those hours with more tasks, more meetings, more tickets, more dashboards, more “quick asks,” and more artificial urgency. That would be a sad outcome. GenAI should not only make us faster. It should make us more intentional.</p><p>I have actually been thinking and writing around this for months. Not in a single structured sprint, but through scattered notes that came out of meetings, coffees, lunches, conversations with colleagues and friends, and some personal experiences that kept returning to the same question from different angles. Over time, the pattern became clearer to me: <em>the more GenAI makes execution easier, the more human questions move to the center. Not only what we build, but how we work, how we relate to each other, what kind of pressure we normalize, and what kind of culture we are quietly creating while we optimize everything else</em>.</p><blockquote>In one of those coffee conversations, a friend and I ended up with a simple idea that stayed with me: maybe the future is not one person alone with ten agents, but the right people in front of a board deciding what those agents should even do. The value is not only in prompting better. It is in thinking better together before the prompting starts.</blockquote><h3>Put the Tokens Where They Make Sense</h3><p>One of the most important skills in this new stage is knowing <strong>where to spend attention</strong>. Not every problem needs an agent. Not every workflow needs a multi-agent architecture. Not every internal tool needs a complex stack, a vector database, a graph, a planner, a memory layer, a RAG pipeline, and five automated evaluators. Sometimes the best solution is a script. Sometimes it is a spreadsheet. Sometimes it is a better conversation. Sometimes it is choosing not to build anything yet.</p><p>This is where the old engineering instinct still matters: <strong>do not overengineer things</strong>. Put the tokens where they make sense. Put the right people in front of the right problem. Use the model when it expands thinking or accelerates responsible execution. <strong>Do not use it just because it is available</strong>. The temptation now is to automate before understanding, but the better move is still the same as before: understand the problem, understand the people, understand the constraints, and only then decide what should be built.</p><h3>What Happens to Managers?</h3><p>This also changes the question of management. A common reaction is to ask what will happen to managers if AI agents can plan, write, summarize, code, test, and report. <em>I do not think the answer is simply that managers disappear. But I do think bad management will become much more visible.</em> If a manager only moves information from one place to another, AI will do that better. If a manager only tracks tasks, generates reports, or asks for status updates, AI will do that faster. If a manager only translates vague pressure from above into vague pressure below, maybe that role deserves to disappear.</p><p>But real management is not just task tracking. Real management is context design. It is helping people understand what matters. It is deciding what not to do. It is creating the conditions for good judgment. It is noticing when someone is blocked but afraid to say it. It is making trade-offs explicit. It is protecting a team from noise. It is helping people disagree without destroying trust.</p><p>Interestingly, I have also noticed that people who are good with real teams are often better at working with AI agents too. Peter Steinberger, the creator of OpenClaw, has talked about a similar idea: working well with agents is not only about technical skill, but also about knowing how to communicate intent, context, and expectations clearly.</p><p>Managing agents requires clarity, context, sequencing, feedback, boundaries, and verification. You need to explain the goal. You need to provide the right background. You need to define what good looks like. You need to review the output. You need to notice when the agent is confidently moving in the wrong direction. In that sense, it is not so different from leading humans, except that with humans you also need empathy, motivation, trust, and respect.</p><p>So perhaps the future manager is not only a people manager or a project manager. <strong>Perhaps the future manager becomes an orchestrator of humans, agents, context, and accountability. But accountability is the key word</strong>. You can delegate execution. You can delegate exploration. You can delegate a first draft. You can delegate a refactor. You can delegate analysis. You cannot fully delegate responsibility.</p><p>This is especially important because managers themselves seem to be under pressure. Gallup’s 2026 State of the Global Workplace report found that only 20% of employees worldwide were engaged in 2025, while global manager engagement fell from 31% in 2022 to 22% in 2025. That matters because managers are not just another layer of reporting. They are often the people responsible for translating strategy into reality, protecting teams from chaos, and creating the emotional conditions under which people can do good work.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FcpVXH%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FcpVXH%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FcpVXH%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="395" frameborder="0" scrolling="no"><a href="https://medium.com/media/009752e87d03024cd8585cc4b5efc45d/href">https://medium.com/media/009752e87d03024cd8585cc4b5efc45d/href</a></iframe><p>The irony is that at the exact moment when managers need to become better at context, communication, and culture, many organizations are asking them to do more with less: manage hybrid work, adopt AI, reduce costs, keep teams engaged, explain uncertainty, and still deliver faster. In that world, the manager of the future cannot just be a productivity multiplier. They also need to be a human stabilizer.</p><h3>The Cast Away Problem</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZWt7UR7A8lTR3y17eTEZwA.png" /><figcaption><em>When the productivity system collapses, the person behind the role becomes visible again.</em></figcaption></figure><p>The other day, I watched a video on a social network about the <em>Cast Away movie</em>. At the beginning of the movie, Chuck Noland is obsessed with time, efficiency, and operational performance. Everything is measured. Everything is urgent. Everything exists inside the logic of the system. Then the system collapses. The plane crashes. The company disappears. The calendar disappears. The meetings disappear. The logistics network disappears. The clock loses its old meaning.</p><p>On the island, Chuck becomes incredibly productive, but in a completely different way. He learns to survive. He learns to make fire. He learns to use what he has. He learns through failure. He learns what matters when the system is gone. And there is one detail that stayed with me: once he is on the island, he discovers the body of one of the pilots and realizes that the pilot had a name: Albert Miller. Not a function. Not a role. Not just “the pilot.” A person.</p><p>That small realization matters. Inside large systems, people can become roles: developer, manager, architect, analyst, product owner, resource, headcount, capacity, FTE. But when the system breaks, the humanity becomes visible again. Maybe that is one of the dangers of extreme optimization. It can hide the person behind the function. It can make us believe that the system is the reality, when the system is only a structure we created to coordinate human effort.</p><p>GenAI can make this better or worse. It can help us remove repetitive work so people have more time for thinking, learning, creating, and connecting. Or it can turn everything, including human conversations, into something to be tokenized, summarized, measured, compressed, and optimized. That is the fork in the road.</p><h3>Inauthentic Work, Acceleration, and the Risk of Becoming the System</h3><p>This also connects with <a href="https://plato.stanford.edu/entries/heidegger"><em>Martin Heidegger’s idea of inauthentic life</em></a><em>: the risk of becoming absorbed by what “one” does, what people expect, what the system rewards, what the calendar demands, and what the company measures. In work, this can look completely normal</em>. We attend meetings because meetings are what people do. We build features because the roadmap says so. We optimize metrics because the dashboard is watching. We answer immediately because responsiveness has been confused with value. We keep moving because stopping would force us to ask whether the direction still makes sense.</p><p>Byung-Chul Han’s <em>The Burnout Society</em> adds another useful layer. Today, pressure does not always arrive as “you must.” Very often, it arrives as “you can.” You can do more. You can optimize more. You can answer one more message, ship one more feature, run one more experiment, or ask one more model. That is what makes the productivity trap so subtle: it can feel like freedom while behaving like pressure.</p><p>GenAI can intensify this if every saved hour becomes an excuse to raise expectations again. The system gets faster, but the person inside the system does not necessarily become freer. That is the fork in the road. GenAI can amplify inauthentic work through more output, more dashboards, more synthetic urgency, and more work about work. Or it can give us time back.</p><p>And that time should not automatically become more tasks. Some of it should become better thinking, better conversations, better rest, better judgment, better relationships, better taste, and better questions. Because if machines help us produce more, the human advantage may be deciding what deserves to exist, what deserves to stop, and what kind of life and culture our work should support.</p><h3>Burnout, Time, and the New Generation Question</h3><p>One of the reasons this matters so much is that the efficiency story is colliding with a burnout story. <strong>We have better tools, faster systems, and more automation, but that does not automatically mean people feel better at work.</strong> In many cases, it only means the same amount of human anxiety can now move faster.</p><p>Burnout is not an abstract concept. <a href="https://www.gallup.com/workplace/697904/state-of-the-global-workplace-global-data.aspx">Gallup has reported</a> that employees who frequently experience burnout are 63% more likely to take a sick day, 2.6 times as likely to leave their current employer, and 13% less confident in their performance. That is not just a personal problem. It is a signal that the system is consuming the people who make the system work.</p><p>This is where the conversation about time becomes more interesting. Younger generations are not only reacting to salary or title. They are reacting to the way life feels. <a href="https://www.deloitte.com/global/en/issues/work/genz-millennial-survey.html">Deloitte’s 2026 Gen Z and Millennial Survey</a> found that only 6% of Gen Zs and millennials say achieving a leadership position is their primary career goal. Only 25% of Gen Zs and 21% of millennials prefer fast-paced career progression marked by rapid promotions. That does not mean they lack ambition. It means many of them are asking a different question: what is a career for, if it destroys the person who is building it?</p><p>At the same time, this is also the first generation entering adulthood and work in a world where digital attention is already fragmented by default. Time is not only scheduled now; it is competed for. Platforms, notifications, chats, feeds, side conversations, and constant online presence all fight for the same cognitive space that real work, rest, and reflection need. <a href="https://www.ofcom.org.uk/siteassets/resources/documents/research-and-data/online-research/online-nation/2025/online-nations-report-2025.pdf?v=409837">Ofcom’s 2025 Online Nation report</a> found that UK adults spent an average of 4 hours and 30 minutes online per day, while 18–24-year-olds averaged 6 hours and 20 minutes. That is not automatically good or bad, but it does remind us that attention has become one of the most contested resources in modern life.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBYbKq%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBYbKq%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBYbKq%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="414" frameborder="0" scrolling="no"><a href="https://medium.com/media/80b76cadaa1363526de228a173f3d0e4/href">https://medium.com/media/80b76cadaa1363526de228a173f3d0e4/href</a></iframe><p>So when we talk about productivity, we should not pretend that the real scarcity is only labor. The real scarcity is clean attention. It is the ability to think without being constantly interrupted, measured, redirected, summarized, or optimized. This is why burnout becomes such an important signal. It is not just a health issue or an HR issue. It is also an organizational design issue. Burnout often reveals that the system is asking for output without protecting attention, energy, or meaning.</p><blockquote>And if GenAI simply helps companies extract more output from already fragmented people, then it will not solve the problem. It will accelerate it.</blockquote><h3>Ideation Becomes the Bottleneck</h3><p>I used to think the hard part was creating. Now I am less sure. With the right tools, creating a first version of something is easier than ever. A prototype, a landing page, a data pipeline, a small internal application, a draft, a design, a script, a test suite: all of these are becoming faster. That does not mean they are automatically good. It means the bottleneck is moving.</p><p>The bottleneck is not always “can we build it?” The bottleneck is increasingly “is this the right thing to build?” And that question is harder. <strong>Good ideation is not just having ideas</strong>. It is testing assumptions. It is bringing different perspectives into the room. It is letting someone challenge your first thought. It is listening carefully enough to notice the part of the problem you were missing.</p><p>This is why I do not believe the future of work is one person alone with ten agents doing everything. That will happen sometimes, and for some people it will be powerful. But in general, ideation with multiple people is richer than ideation alone. The point is not to have more people in every meeting. The point is to have the right people thinking together about the right problem.</p><p>A good project may increasingly look like a small group of thoughtful people in front of a board, physical or virtual, discussing the problem, the context, the user, the constraints, the risks, and the simplest responsible path forward. Then AI helps them explore options, generate alternatives, challenge assumptions, create prototypes, document decisions, and accelerate execution. But the quality of the result still depends on the quality of the thinking. And the quality of the thinking still depends on the quality of the conversation.</p><h3>Communication Is Becoming a Technical Skill</h3><p>This is why I think communication becomes more important, not less. Listening becomes a technical skill. Giving feedback becomes a technical skill. Saying “I think this is wrong” without attacking the person becomes a technical skill. Admitting “I was wrong” becomes a technical skill. Creating psychological safety becomes a technical skill. Knowing when to stop, rest, and come back with a better mind becomes a technical skill.</p><p>These things used to be called soft skills, but that name feels wrong now. In an AI-assisted world, they become hard requirements. They determine whether the team can think clearly, whether the agents are directed correctly, whether the solution is aligned with reality, and whether people still want to work together after the project is done. The future of development may be less about typing every line of code and more about directing multiple streams of execution responsibly. But directing execution responsibly requires more humanity, not less.</p><h3>Culture Is the Real Operating System</h3><p>This is also why I think culture is becoming even more important than before. In many companies, culture is still treated like a soft layer: values on a slide, a few rituals, some words repeated in all-hands meetings. But culture is not decoration. Culture is the operating system behind the visible work. It shapes what people are rewarded for, what they are afraid to say, how conflict happens, whether people can disagree safely, whether managers protect context or generate noise, and whether speed is used intelligently or blindly.</p><p>And culture, by itself, is not automatically good. <em>A company can have a very strong culture and still be deeply unhealthy</em>. It can have a culture of urgency, fear, over-measurement, political silence, or constant performative productivity. It can also have a culture of trust, clarity, thoughtful debate, responsibility, and sustainable execution. The point is not whether a culture exists. Every company has one. The real question is what kind of culture is being built, reinforced, and tolerated every day.</p><p>That is why leaders now have a more important responsibility than just setting targets or approving strategy. They need to lead the discussion about culture directly. They need to be explicit about what kind of team they are trying to build, what behaviors they want to normalize, what tradeoffs they are willing to reject, and how AI should fit into that culture. Because if leaders do not define that discussion deliberately, the culture will still form on its own, only then it will be shaped by habit, pressure, ambiguity, and whatever gets rewarded in the short term.</p><p><strong>In that sense, AI does not reduce the importance of culture. It increases it</strong>. When execution becomes cheaper, culture becomes more visible. When information moves faster, tone matters more. When agents can do more work, the human environment surrounding that work becomes more decisive. The companies that will benefit most from GenAI may not be the ones that automate the most, but the ones that know how to combine automation, judgment, respect, and healthy human coordination in a coherent way.</p><h3>Two Types of AI-Native Companies</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*B2r3P_EG1xpJDqK7fu3S7Q.png" /><figcaption><em>Two AI-native futures: one that expands human potential, and one that turns people into another optimized component.</em></figcaption></figure><p>I can imagine two types of companies emerging. <strong>The first type will use GenAI to maximize human potential</strong>. These companies will automate repetitive work, reduce unnecessary meetings, improve documentation, support better decisions, and give people more space for deep collaboration. They will understand that the value of saved time is not only more output, but better input: clearer thinking, better judgment, and stronger teams.</p><p><strong>The second type will use GenAI to maximize extraction</strong>. These companies will tokenize every conversation, summarize every interaction, measure every movement, automate every pause, and treat human beings as another component in the machine. They will save time only to demand more time. They will increase productivity and somehow also increase burnout.</p><p>Both will call themselves AI-native. But they will not be the same. One will use AI to make work more human. The other will use AI to make humans more machine-like.</p><p>This may be the cultural divide that matters most. Not whether a company uses GenAI, because almost every company will. The real question is what kind of culture forms around that use. Does AI create more agency or more surveillance? Does it give people more room to think or less? Does it improve collaboration or simply make pressure more efficient? Does it help managers become better leaders, or does it turn them into operators of a more automated control system?</p><h3>So, What Are We For Now?</h3><p>So, if GenAI can make almost everything, what are we for now? Maybe we are here to decide what should be made. Maybe we are here to bring judgment, taste, ethics, responsibility, and context. Maybe we are here to create the conversations that make better ideas possible. Maybe we are here to make sure that when systems become more powerful, they do not hide the people inside them.</p><p>And maybe the real opportunity is not to become endlessly productive, but to become effective without becoming fried. Because being effective and being rested are not opposites. They are partners. A rested mind has better ideas. A good conversation can save weeks of execution. A clear problem statement can save thousands of tokens. A small team with trust can outperform a large system full of noise.</p><blockquote>GenAI can help us build faster. But perhaps the best use of the time it saves is not to build more. Perhaps the best use is to become better at being human together.</blockquote><blockquote>Maybe one of the biggest questions for the AI era is not only what we will automate, but what kind of culture we will build around that automation. Because culture decides whether saved time becomes better thinking or just more pressure. It decides whether AI becomes a tool for human expansion or a tool for human compression.</blockquote><p>And maybe that is why this conversation feels so important to me now. The future of work is not only being coded. It is also being normalized in meetings, in expectations, in feedback, in silence, in what leaders praise, and in what teams quietly learn to endure.</p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br> </em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com/</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cc850ea57cc2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My Rubber Duck Lost Its Job to GenAI, Or Maybe It Got Promoted]]></title>
            <link>https://medium.com/@crhisto/my-rubber-duck-lost-its-job-to-genai-or-maybe-it-got-promoted-ff24c6f63956?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/ff24c6f63956</guid>
            <category><![CDATA[learning]]></category>
            <category><![CDATA[genai]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[debugging]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Thu, 21 May 2026 01:51:38 GMT</pubDate>
            <atom:updated>2026-06-24T13:43:29.135Z</atom:updated>
            <content:encoded><![CDATA[<h4>How an old software engineering trick became one of my favorite ways to learn, debug, and think better with AI</h4><figure><img alt="Rubber duck debugging with AI is not just about fixing bugs faster. It is about learning how to think better." src="https://cdn-images-1.medium.com/max/1024/1*OICspneAYldswB4rb1Szkg.png" /><figcaption>Rubber duck debugging with AI is not just about fixing bugs faster. It is about learning how to think better.</figcaption></figure><p>A long time ago, at the beginning of my journey as a software engineer, I learned about <strong>rubber duck debugging</strong>. The idea is simple: when you are stuck, you explain your code or your problem step by step to a rubber duck. The duck does not answer. It does not judge. It does not interrupt. It simply listens. And somehow, that is often enough.</p><p>By forcing yourself to explain the problem clearly, you start noticing the gaps in your own thinking. You discover assumptions. You find contradictions. You realize that the bug was not always hidden in the code, but sometimes in the way you were understanding the problem. That was the part that fascinated me from the beginning: the duck was not solving anything, but the conversation with it was changing the way I understood the problem.</p><p>I loved the idea so much that, over time, I accidentally became the kind of person who buys rubber ducks in different countries. Some people collect magnets. Some people collect postcards. I collect ducks. Different colors, different costumes, different countries, different personalities. A small army of silent debugging assistants.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ua2DIaL5n3X4cE0nj1sbKA.png" /><figcaption><em>Amsterdam, some years ago: I walked into the Duck Store for “just a look” and accidentally expanded my debugging team.</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s1yyZ2p0am-g7OAQnf47bA.png" /><figcaption><em>A small part of my international debugging team. Their passports are confidential, but their outfits give them away.</em></figcaption></figure><p>At some point, I even started using the idea outside programming. When I had to think through a decision, an architecture, a research idea, or even a personal problem, I would explain it out loud or write it down as if I were talking to one of my ducks. Sometimes the “duck” was an actual person, but there was one rule: the person was only allowed to ask simple questions like “Why?”, “What?”, “When?”, or “How?” Those small questions are surprisingly powerful. They force clarity, expose weak arguments, and make you slow down enough to notice what you were avoiding.</p><p>But now we are in the GenAI era. ChatGPT, Claude, Gemini, and other models can read code, explain errors, generate alternatives, challenge assumptions, and even propose fixes. In agentic systems, AI can go even further: it can use tools, inspect logs, execute workflows, and act on our behalf. So I started wondering:</p><blockquote><strong>Did AI fire my ducks?</strong></blockquote><h3>When the duck talks back</h3><p>At first, it is tempting to say yes. The classic rubber duck was silent. The AI duck answers. The classic rubber duck helped us think by listening. The AI duck helps us think by questioning, explaining, comparing, and sometimes disagreeing. But after using GenAI for a while, I do not think the duck lost its job.</p><blockquote>I think the duck got promoted.</blockquote><p>The real value of rubber duck debugging was never the plastic duck. The value was the process: slowing down, explaining clearly, exposing assumptions, and finding contradictions in your own mental model. GenAI does not replace that process. It amplifies it, but only if we use it intentionally.</p><p>That distinction matters because AI can easily become an answer machine. You ask, it responds, you copy, and you move on. That may be useful when the task is simple, but it is dangerous when the goal is learning. If we only use AI to get final answers, we may become faster, but we may also become weaker at understanding how those answers were produced.</p><h3>The danger of easy answers</h3><blockquote>One of the biggest risks of AI is that it can make us intellectually lazy. If we only ask for the final answer, we may get the task done faster, but we may also learn less. That matters because in modern software engineering, and especially in AI systems, the hard part is often not writing the code. The hard part is understanding the system.</blockquote><p>Why did the agent choose that tool? Why did the retrieval step return the wrong context? Why did the model hallucinate? Why did the workflow fail silently? Why did the architecture work in a demo but not in production? These questions are not solved only by asking for “the fix.” They require understanding the assumptions, the flow of information, the failure modes, and the gap between what we think the system is doing and what it is actually doing.</p><p><em>In the GenAI era, the value of the engineer is not only in manually producing every artifact</em>. It is increasingly in knowing how to think, how to ask, how to evaluate, and how to guide intelligent systems. That means our prompts should not only ask AI to solve the problem. They should ask AI to help us think better.</p><p>Over time, I stopped asking AI only for answers and started asking it to help me inspect my own reasoning. These are some of the prompt patterns I now use.</p><p>I know the idea of using AI as a rubber duck is not new. Many developers already use ChatGPT, Claude, or other assistants to explain errors and reason through code. <strong>But I think the more interesting shift is not debugging itself. It is learning</strong>. The real opportunity is to use GenAI not only to find the answer, but to improve the way we think our way toward the answer.</p><p>Here are four prompt patterns I use depending on whether I want to debug a problem, learn a concept, or reason about an AI system.</p><h3>My new Rubber Duck Debugging prompt</h3><p>When I am stuck with a problem and want to avoid jumping too quickly to a solution, I use a prompt like this:</p><pre>Use a Rubber Duck Debugging approach.<br><br>Do not jump directly to the solution.<br><br>First:<br>1. Restate the problem in simple terms.<br>2. Explain what should be happening.<br>3. Explain what is actually happening.<br>4. List the assumptions.<br>5. Identify possible failure points.<br>6. Ask clarifying questions if needed.<br>7. Only then propose solutions ordered by probability.</pre><p>This changes the interaction. Instead of treating the model as an answer machine, I treat it as a thinking partner. The goal is not only to fix the issue. The goal is to understand the issue. And that distinction matters because sometimes the fastest answer is not the most useful one. Sometimes what we need is not a fix, but a better mental model of what is happening.</p><p>This is very close to the original spirit of rubber duck debugging. The difference is that the duck can now talk back. It can ask questions, challenge the sequence of events, identify assumptions, and help you separate what you know from what you are guessing. Used well, the model does not replace the thinking process. It makes that process more explicit.</p><h3>Rubber Duck Debugging for learning</h3><p>I also use a variation when I want to learn something deeply. This is especially useful when I am studying architectures, debugging complex systems, reviewing technical decisions, reading papers, or trying to understand a new concept. In those cases, I do not want only a short answer. I want the model to help me improve the way I reason about similar problems in the future.</p><pre>My goal is not only to get the answer.<br>My goal is to improve my thinking.<br><br>Therefore:<br>- explain the reasoning<br>- teach the mental models<br>- connect the answer to first principles<br>- highlight tradeoffs<br>- expose hidden assumptions<br>- mention common mistakes<br>- explain how an experienced engineer would think about this<br>- generalize the lesson beyond this example<br><br>Prefer insight over speed.</pre><p>This prompt is useful because it changes the objective. Without this instruction, AI often optimizes for completion. It gives you the answer and moves on. But when you explicitly ask for learning, the interaction becomes different. The model starts explaining not only what to do, but why it matters, what assumptions are involved, what tradeoffs exist, and how to generalize the idea.</p><p>That is where the real value appears. Not just in getting something done, but in becoming better at understanding similar problems in the future. The important part is this: do not optimize only for the output. Optimize for the learning process.</p><h3>Rubber Duck Debugging for AI and agentic systems</h3><p>For GenAI and agentic systems, I usually make the prompt more specific because AI systems fail in strange ways. The issue is not always the model. Sometimes it is the prompt. Sometimes it is the retrieval layer. Sometimes it is memory. Sometimes it is tool selection. Sometimes it is orchestration. Sometimes it is a missing evaluation framework. Sometimes it is a silent failure hidden behind a beautiful demo.</p><p>For this kind of problem, I use something like this:</p><pre>Use Rubber Duck Debugging focused on AI systems.<br><br>As you analyze:<br>- trace the system step by step<br>- identify where orchestration complexity appears<br>- explain what each component assumes<br>- highlight scalability and reliability risks<br>- identify observability gaps<br>- explain how this pattern appears in production AI systems<br><br>At the end provide:<br>- architecture lessons<br>- anti-patterns<br>- production considerations<br>- debugging signals<br>- how senior engineers reason about this class of problem</pre><p>A good AI rubber duck does not only say, “Here is the fix.” It asks better questions. What assumption are we making? What evidence do we have? What would disprove this hypothesis? Where could the system be failing silently? What would a senior engineer inspect first?</p><p>That is where the learning happens. And in AI systems, that kind of thinking is essential because the most dangerous bugs are not always exceptions, crashes, or failed deployments. Sometimes the most dangerous bugs are hidden assumptions that continue working just well enough to look correct.</p><h3>Rubber Duck Debugging for certification study</h3><p>Since I am kind of a fan of AWS certifications — as I wrote in my post about getting <a href="https://medium.com/@crhisto/13-aws-certifications-in-13-months-and-13-days-coincidence-obsession-or-bad-planning-30a3e96f391b"><strong>13 AWS certifications in 13 months and 13 days</strong> </a>— I also use this approach a lot when studying for exams. When I get a practice question wrong, I do not only ask the model for the correct answer. I ask it to help me understand why my answer looked correct to me. That is where the real learning happens. Many certification mistakes are not about completely missing the topic, but about overlooking a constraint, confusing two similar services, or applying the right concept to the wrong scenario.</p><pre>Use Rubber Duck Debugging to help me learn from this certification question.<br><br>I will give you:<br>- the question<br>- the options<br>- my selected answer<br>- the correct answer<br><br>Help me understand:<br>1. What the question is really asking.<br>2. Why my answer looked attractive.<br>3. Why my answer is wrong.<br>4. Why the correct answer is better.<br>5. What concept or tradeoff I misunderstood.<br>6. What mental model I should remember next time.</pre><p>This turns every wrong answer into a learning opportunity. Instead of only memorizing that one option was correct, I can debug the reasoning that led me to the wrong choice. In AWS exams, that is especially useful because many questions are built around tradeoffs: cost versus performance, availability versus durability, serverless versus managed infrastructure, or object storage versus file storage. The AI rubber duck helps me find the weak spot in my intuition and strengthen it for the next question.</p><h3>From debugging code to debugging thinking</h3><p>This is the part that interests me the most. Rubber duck debugging started as a technique for debugging code, but in practice, it is much broader than that. It is a technique for debugging thought.</p><p>When you explain something clearly, you test whether you actually understand it. When you ask “why?” several times, you find the weak points in your reasoning. When you describe what should happen and what is actually happening, you expose the gap between your model of the world and reality.</p><p>GenAI can make this process much stronger, but only if we ask it to. If we use AI only as a machine that gives answers, we may become faster but less thoughtful. If we use AI as a partner that helps us question, reason, compare, and reflect, we can become faster and more capable.</p><p>That is why I think the future of AI-assisted learning is not just about better models. It is about better conversations.</p><h3>So, did AI replace the duck?</h3><p>Not really. The duck was never truly about the duck. It was about making our thinking visible. GenAI gives us a new version of the same idea: a duck that can talk back, ask better questions, challenge our assumptions, and help us build stronger mental models.</p><p>But the responsibility is still ours. If we use AI only to get answers, we may become faster, but also weaker. If we use AI to improve the way we think, we can become both faster and stronger. The future of learning with AI is not about outsourcing our brain; it is about building better conversations with it.</p><blockquote>So no, my ducks are not unemployed. They have simply been promoted to the board.</blockquote><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com/</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ff24c6f63956" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Which Brain Should Power Your Claw?]]></title>
            <link>https://medium.com/@crhisto/which-brain-should-power-your-claw-b9fa5733d1d5?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/b9fa5733d1d5</guid>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[openclaw]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Tue, 28 Apr 2026 22:03:55 GMT</pubDate>
            <atom:updated>2026-06-24T13:44:06.234Z</atom:updated>
            <content:encoded><![CDATA[<h4>A 2026 Guide to Local, Frontier and Hybrid LLMs for OpenClaw &amp; Variants</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*acgLAdytfPW63cp5haj7JQ.png" /></figure><p>Over the past few months, since the launch of OpenClaw, I’ve found myself going down a bit of a rabbit hole. What started as simple curiosity — <em>“let me try this new agent framework”</em> — quickly turned into something deeper. I began experimenting, breaking things, rebuilding them, and slowly understanding what makes this approach to agents different. Along the way, I started documenting those learnings.</p><p>In my first post, <a href="https://medium.com/@crhisto/we-built-agents-that-think-openclaw-builds-agents-that-act-64005e74e03e"><em>We Built Agents That Think. OpenClaw Builds Agents That Act</em></a>, I explored how OpenClaw breaks the traditional paradigm. Instead of treating agents as something you invoke, OpenClaw behaves more like a system that is always running — observing, deciding, and acting. That shift alone changes how you think about building with LLMs.</p><p>After that, I realized something else: the ecosystem was already fragmenting. Different variants were emerging — NanoClaw, PicoClaw, TinyClaw — each with different trade-offs around security, simplicity, performance, and extensibility. That led me to write <a href="https://medium.com/@crhisto/which-claw-is-best-a-guide-to-openclaw-and-its-variants-dc8ea9148441"><em>Which Claw Is Best? A Guide to OpenClaw and Its Variants</em></a>, where I explored how those differences matter depending on your use case.</p><p>But after spending more time actually <em>using</em> OpenClaw (and especially NanoClaw in more constrained environments), a more practical question kept coming up.</p><blockquote>What is the right model to put behind this?</blockquote><p>Because at the end of the day, the Claw is just the body. The real intelligence — the <em>brain</em> — comes from the LLM you choose. And that’s where things get messy.</p><p>There are more options than ever: frontier models with incredible reasoning power (and cost), local models that give you privacy and control, cheaper high-throughput models that are “good enough” for most tasks, and hybrid setups that combine all of the above.</p><p>Most existing guides talk about <em>how</em> to deploy OpenClaw, or <em>how</em> to run local models, or <em>how</em> to connect custom providers. But very few answer the question that actually matters when you’re building something real: <strong>which model should handle which task — and why?</strong></p><p>This post is my attempt to answer that. I’ll break down frontier vs. local models, summarize pricing and context windows, outline hardware considerations, show how to configure multiple models within the same setup, and — most importantly — share when it makes sense to use each type of model in practice.</p><p>If the first post was about <em>what OpenClaw is</em>, and the second was about <em>which version to use</em>, this one is about something even more fundamental: <strong>what should power it.</strong></p><h3>Frontier Models: Pricing, Context and Capabilities</h3><p>Frontier (cloud) models generally deliver state‑of‑the‑art reasoning, coding and tool‑use capabilities with minimal setup but incur per‑token fees and depend on third‑party infrastructure. The table below summarises popular models and their April 2026 prices. Prices are per million tokens (input/output). “Context” refers to the maximum input length the model accepts; some providers offer extended contexts at a higher price.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FFHjUk%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FFHjUk%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FFHjUk%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="806" height="454" frameborder="0" scrolling="no"><a href="https://medium.com/media/752523ab23b01bf08b1d75f3be064058/href">https://medium.com/media/752523ab23b01bf08b1d75f3be064058/href</a></iframe><blockquote><strong>Quick Picks</strong></blockquote><blockquote>- Cheapest: Grok 4.1 Fast<br>- Best reasoning: GPT-5.4 / Claude Opus<br>- Best long context: Grok / Gemini<br>- Best balance: GPT-4o</blockquote><h4>2026 Frontier Model Updates</h4><p>Several providers released new models in early 2026. OpenAI’s GPT‑5.4 extends GPT‑4o with stronger reasoning and offers both a 272k context and a 1.05M context tier; the latter costs about twice as much and a Pro tier exists for enterprise workloads. Google’s Gemini 3.1 Pro and 2.5 Pro deliver up to 1M context at moderate prices (roughly $2/$12 and $1.25/$10 per million tokens) and prioritise long‑context summarisation and multilingual support. Anthropic’s Claude Haiku 4.5 is a lightweight 200k‑context model priced at $1/$5 per million tokens; it trades deep reasoning for speed and throughput. These new offerings provide more options across the cost‑performance spectrum.</p><h4>Observations</h4><p>Across providers there is a clear cost‑quality trade‑off: models like GPT‑4o, GPT‑5.4 and Claude Opus provide top‑tier reasoning and coding, but cheaper options such as Cohere Command R or Grok 4.1 Fast deliver adequate performance at a tenth of the price. Context windows vary widely — from 128k up to 2M tokens — and longer contexts often cost more and respond more slowly. Finally, some providers offer batch or discounted pricing for asynchronous jobs, which can halve costs when latency is not critical.</p><h4>April 2026 update: Claude subscriptions no longer cover OpenClaw</h4><p>As of April 4, 2026, <a href="https://www.techradar.com/pro/bad-news-claude-users-anthropic-says-youll-need-to-pay-to-use-openclaw-now">Anthropic disabled the use of Claude Pro/Max subscription quotas in third‑party tools</a> like OpenClaw and NanoClaw. Users must now pay per token or buy extra usage bundles to run Claude models. Anthropic offered a one‑time credit and discounted bundles to ease the transition. The change stems from the high compute demands of agentic workflows and marks the end of “all‑you‑can‑eat” subscription abuse. For Claw users, Claude remains available via API but is now a premium option; hybrid routing and alternative models are therefore even more important.</p><h3>Emerging Local &amp; Open Models (2026)</h3><p>Open‑source and locally deployable models have also advanced. The table below summarises notable newcomers. These models can be hosted via <strong>Ollama</strong>, <strong>vLLM</strong> or similar back‑ends and are appealing for privacy‑sensitive or offline deployments.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fk9ucQ%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fk9ucQ%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fk9ucQ%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="818" height="318" frameborder="0" scrolling="no"><a href="https://medium.com/media/443c0b3b1df28245a5021768aeec3cf7/href">https://medium.com/media/443c0b3b1df28245a5021768aeec3cf7/href</a></iframe><p>As with frontier models, these open models differ in memory requirements and performance. Gemma 4’s MoE variant offers long‑context reasoning on consumer GPUs; Qwen 3’s models provide multilingual support and adjustable reasoning depth; and GPT‑OSS‑20B is ideal for code‑heavy workloads on modest hardware.</p><h4>Hardware Considerations for Local Models</h4><p>Running large models locally still requires substantial VRAM. Entry‑level GPUs (3–4 GB VRAM) can only run 3–4B models; mid‑range cards (6–8 GB) support 7–9B models; high‑end cards (10–12 GB) handle 12–14B models; and 16–24 GB is needed for 22–35B models (<a href="https://localllm.in/blog/ollama-vram-requirements-for-local-llms"><em>see detailed hardware breakdown here</em>)</a>. Workstation‑class GPUs with 48 GB VRAM or multiple cards are required for 70B+ models like Llama 3.3 70B. Model context windows consume memory; quantization can reduce requirements at the cost of accuracy.</p><h4>Cost of Self‑Hosting</h4><p>Self‑hosting eliminates per‑token fees but requires upfront hardware investment and electricity. A mid‑range Mac Studio or Linux server with a high‑end GPU typically amortises its cost after roughly a year of heavy usage, while lightweight deployments on Raspberry Pi break even in weeks. Once hardware is paid off, local LLM use costs almost nothing.</p><h4>Strengths and Limits of Local Models</h4><p>Local models offer full data privacy, zero per‑token cost and offline operation. Many run at 30–80 tokens per second on consumer GPUs and support long contexts up to 256k tokens. However, they still trail frontier models in complex reasoning and multi‑file code generation, and hardware constraints limit the maximum context window and model size. For high‑stakes or deeply analytical tasks, frontier models remain superior.</p><h3>When to Use Local vs. Frontier Models</h3><p>A pragmatic guideline is “<em>personal data goes local; everything else depends on cost and quality.</em>” Local deployment ensures 100 % data privacy and zero per‑token fees but demands significant VRAM, whereas cloud APIs add network latency and recurring costs. Rather than memorising individual pairings, think in terms of task complexity and hardware budget:</p><ul><li><strong>Low‑risk, high‑volume tasks</strong> (email triage, summarisation, quick drafts) are ideal for open models like Gemma 4, Qwen 3 or GPT‑OSS‑20B. These models run on consumer GPUs, support long contexts and cost nothing per token.</li><li><strong>Moderate tasks</strong> (code generation, chat responses, medium‑length documents) can leverage mid‑range frontier models such as Gemini 3 Flash, Mistral Large 2 or Cohere Command R. They offer reasonable quality at lower prices than Claude or GPT‑5.4.</li><li><strong>High‑stakes reasoning, coding or strategic planning</strong> should be routed to premium frontier models like GPT‑5.4, Claude Opus, Claude Sonnet or Mistral Large 2. These models excel at complex analysis but cost more and may require API access.</li></ul><p>A <strong>hybrid strategy</strong> — using local models for everyday and privacy‑sensitive tasks and escalating to frontier models only when needed — offers the best balance of privacy, cost and performance. In practice, this means configuring your Claw with a cheap local model as the primary handler and one or two frontier models as fallbacks. Such routing can reduce API bills by 60–90 % while preserving quality.</p><h4>How to Choose the Right Model (Simple Framework)</h4><p>If you don’t want to overthink it, use this:</p><ul><li><strong>Is the task sensitive or private?</strong><br> → Use a <strong>local model</strong></li><li><strong>Is it high-volume or cost-sensitive?</strong><br> → Use <strong>Grok 4.1 Fast / Gemini Flash / Command R</strong></li><li><strong>Is it complex reasoning or coding?</strong><br> → Use <strong>GPT-5 / Claude Opus</strong></li><li><strong>Not sure?</strong><br> → Start with <strong>local</strong>, then <strong>escalate to frontier</strong></li></ul><h4>Configuring Multiple Models in OpenClaw/NanoClaw</h4><p>OpenClaw supports multiple providers through gateways like <strong>LiteLLM</strong> or <strong>OpenRouter</strong>. A recommended stack from AiOps School uses a <strong>primary model</strong> (e.g., OpenAI), <strong>coding fallback</strong> (Claude Sonnet) and <strong>cheap background model</strong> (Mistral or Qwen) routed via <strong>LiteLLM</strong>. The configuration file in your Claw can specify several models with different contextWindow and reasoning settings; for instance, the <a href="https://haimaker.ai/blog/best-local-models-for-openclaw/#:~:text=The%20hybrid%20approach">Haimaker article</a> shows an openclaw.json where Qwen 3.5 27B handles default tasks (reasoning: false to disable chain‑of‑thought for speed) while Claude Sonnet acts as a fallback for complex reasoning. Such routing can be extended: use Qwen for summarisation, Mistral for cheap generation, and Claude Opus for high‑precision tasks, all within the same agent.</p><p><strong>Bedrock integration</strong> is another option. Bedrock exposes multiple models (Claude Sonnet/Opus, Mistral, Llama 3.1 70B, Cohere Command R+) behind a single AWS API and matches provider pricing. This makes it easy to switch models without altering your Claw logic and supports enterprise features like IAM. Note that Bedrock may lag behind direct APIs in releasing new model versions, and some features (knowledge bases, RAG, caching) incur additional charges.</p><h4>Example hybrid configuration</h4><p>Below is a simplified openclaw.json snippet demonstrating a hybrid setup using a local model (Gemma 4) as the primary handler with two frontier fallbacks—OpenAI’s GPT‑5.4 (long context) and Anthropic’s Claude Opus. In practice you would also include API keys and provider‑specific settings, but this illustrates the concept:</p><pre>{<br>  &quot;model&quot;: {<br>    &quot;primary&quot;: &quot;gemma-4-31b&quot;,<br>    &quot;fallbacks&quot;: [&quot;gpt-5.4-long&quot;, &quot;claude-opus-4.6&quot;]<br>  },<br>  &quot;models&quot;: {<br>    &quot;gemma-4-31b&quot;: {<br>      &quot;provider&quot;: &quot;ollama&quot;,<br>      &quot;contextWindow&quot;: 256000,<br>      &quot;reasoning&quot;: false<br>    },<br>    &quot;gpt-5.4-long&quot;: {<br>      &quot;provider&quot;: &quot;openai&quot;,<br>      &quot;contextWindow&quot;: 1050000,<br>      &quot;reasoning&quot;: true<br>    },<br>    &quot;claude-opus-4.6&quot;: {<br>      &quot;provider&quot;: &quot;anthropic&quot;,<br>      &quot;contextWindow&quot;: 200000,<br>      &quot;reasoning&quot;: true<br>    }<br>  }<br>}</pre><p>This configuration tells OpenClaw to attempt tasks with the local Gemma 4 model first (fast and free), use GPT‑5.4 long for tasks requiring extended context or deeper reasoning, and fall back to Claude Opus when high‑precision responses are needed. You can add more fallbacks or route specific skills to particular models.</p><h4>Using gateways with NanoClaw</h4><p>NanoClaw ships with Claude as its only built‑in model, but you can still call other providers via gateways. For example, set environment variables to route all agent calls through <strong>LiteLLM</strong> with a provider alias:</p><pre>export ANTHROPIC_BASE_URL=https://api.anthropic.com<br>export ANTHROPIC_MODEL=claude-4.6-sonnet<br>export LITELLMM_MODEL_MAP=&quot;{ &#39;grok-fast&#39;:&#39;grok-4.1-fast&#39;, &#39;gpt-5.4&#39;:&#39;gpt-5.4-long&#39; }&quot;<br>export LITELLMM_API_KEY=&lt;your-liteLLM-key&gt;</pre><p>This instructs NanoClaw to use Anthropic’s API for Claude calls and route any tasks labelled grok-fast or gpt-5.4 through LiteLLM to xAI or OpenAI. Gateway variables allow you to overcome built‑in limitations without modifying NanoClaw’s code.</p><h3>Model Compatibility Across Claw Variants</h3><p>Most discussions about model selection assume you are using OpenClaw. In reality, an entire family of Claw variants has sprung up — each with different runtime languages, levels of security and LLM back‑end support. These differences matter when deciding how to route tasks and which models to run. For example, OpenClaw uses a modular architecture that supports Anthropic, OpenAI and local models, while NanoClaw is built on Anthropic’s Agent SDK and only exposes Claude via conversation‑driven configuration. ZeroClaw goes in the other direction: its trait‑driven Rust architecture abstracts providers and supports more than twenty LLM back‑ends. Moltis adds enterprise features and long‑term memory with optional local LLMs, and NemoClaw packages OpenClaw inside NVIDIA’s secure OpenShell along with Nemotron models. The table below summarises the top variants.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2F9rQxj%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2F9rQxj%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2F9rQxj%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="1194" height="507" frameborder="0" scrolling="no"><a href="https://medium.com/media/cfe500fd589d07d269e983094c8d815b/href">https://medium.com/media/cfe500fd589d07d269e983094c8d815b/href</a></iframe><h3>Insights</h3><p>Despite their differences, some common patterns emerge. Provider flexibility ranges from broad (OpenClaw and ZeroClaw) to narrow (NanoClaw is tied to Claude; NemoClaw bundles NVIDIA models). Security vs performance varies too: NanoClaw and NemoClaw emphasise isolation, whereas ZeroClaw and Moltis favour performance and enterprise features. Crucially, hybrid routing remains possible in all variants via gateways (LiteLLM, OpenRouter), allowing you to offload complex tasks to a different provider even when the core framework is restrictive.</p><h3>Conclusion &amp; Recommendations</h3><p>Selecting the right LLM for your Claw involves balancing <strong>cost</strong>, <strong>capability</strong>, <strong>context</strong>, <strong>latency</strong>, <strong>privacy</strong> and <strong>hardware limits</strong>. The April 2026 deprecation of Claude subscription quotas means you must now pay per token when using Anthropic models with third‑party agents. This makes premium frontier models like Claude Opus, Claude Sonnet and GPT‑5.4 costlier and underscores the value of cheaper options.</p><blockquote>The question is no longer: “Which model is best?”</blockquote><blockquote>The real question is: <strong>“Which model should handle THIS task?”</strong></blockquote><p>The ecosystem now spans three tiers:</p><ul><li><strong>Premium frontier models</strong> (<strong>GPT‑5.4</strong>, <strong>Claude Opus/Sonnet</strong>, <strong>Mistral Large 2</strong>) for high‑stakes reasoning and code generation. They command higher rates but deliver the best results.</li><li><strong>Affordable frontier models</strong> (<strong>Grok 4.1 Fast</strong>, <strong>Gemini 3/2.5 Pro</strong>, <strong>Cohere Command R</strong>, <strong>Mistral</strong>, <strong>Claude Haiku 4.5</strong>), which offer respectable performance at a fraction of the cost. Use them for moderate tasks and long‑context summarisation.</li><li><strong>Open/local models</strong> (<strong>Gemma 4</strong>, <strong>Qwen 3</strong>, <strong>GPT‑OSS‑20B</strong>, <strong>Llama 3.3</strong>, <strong>MiniMax M2.5</strong>) that run on consumer hardware, provide full data sovereignty and zero per‑token fees. They excel at high‑volume summarisation and casual conversations but may struggle with nuanced reasoning.</li></ul><p>The optimal approach is <strong>hybrid routing</strong>: use a local or inexpensive model for routine and privacy‑sensitive tasks and fall back to premium models only when necessary. Tools like LiteLLM and OpenRouter make this easy by letting you specify primary models and fallbacks in your configuration. Variants like ZeroClaw and Moltis offer even more flexibility by abstracting providers at the runtime level.</p><p>Looking ahead, dynamic routing that factors latency, cost and quality could further improve efficiency, and open‑weight reasoning models like GPT‑OSS‑120B may soon close the gap with frontier models. Stay up‑to‑date on pricing and model releases to keep your Claw powerful and economical.</p><p><em>If you’re building with OpenClaw or experimenting with hybrid LLM setups, I’d love to hear how you’re approaching model selection.</em></p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com/</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b9fa5733d1d5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The AWS Golden Jacket: Shiny, Questionable Fashion, and Completely Worth It]]></title>
            <link>https://medium.com/@crhisto/the-aws-golden-jacket-shiny-questionable-fashion-and-completely-worth-it-8ccddfd0b718?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/8ccddfd0b718</guid>
            <category><![CDATA[career-growth]]></category>
            <category><![CDATA[aws-certification]]></category>
            <category><![CDATA[learning]]></category>
            <category><![CDATA[aws-golden-jacket]]></category>
            <category><![CDATA[aws]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Fri, 24 Apr 2026 23:08:55 GMT</pubDate>
            <atom:updated>2026-06-24T13:44:30.035Z</atom:updated>
            <content:encoded><![CDATA[<h4>My journey through all active AWS certifications, what the physical jacket actually gives you, and why the real value starts after the exams.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*F2C9RhjrDI7GwKhJXM3Cug.png" /></figure><p>The first thing to say about the AWS Golden Jacket is the obvious one: <strong>it is not subtle.</strong></p><p>It is bright. Very bright. Let’s address the elephant in the room from the beginning. In pure fashion terms, the jacket may not be the strongest piece in your wardrobe. But that is also completely beside the point.</p><p>Because the AWS Golden Jacket is not valuable for its color, its shine, or even the fact that it is physical swag. It matters because of what it represents: discipline, breadth, consistency, and a serious commitment to understanding the AWS ecosystem well enough to solve real problems with the right tools.</p><p>And that last part matters.</p><p>Too many people reduce certifications to badges, logos, or LinkedIn decoration. But the real value of the journey is not “collecting” exams. It is learning how to think more clearly about architecture, trade-offs, security, operations, data, networking, AI, and cost. It is learning not to kill a fly with a bazooka.</p><p>That, to me, is the real meaning of the Golden Jacket.</p><h3>My journey to the jacket</h3><p>As I wrote in a previous post, it took <a href="https://medium.com/@crhisto/13-aws-certifications-in-13-months-and-13-days-coincidence-obsession-or-bad-planning-30a3e96f391b"><strong>13 certifications in 13 months and 13 days</strong></a><strong> </strong>— and then a few extra months of patiently waiting for the physical jacket to catch up.</p><p>It was intense, sometimes exhausting, and definitely not linear. Some exams felt aligned with my day-to-day work. Others pushed me into areas where I had to slow down, study more deeply, and accept that passing a test is not the same as mastering a domain.</p><p>After I completed all the active AWS certifications, the next step was getting the physical jacket. In my case, that happened through the AWS representative assigned to the company I worked for, which was an AWS Premier Partner. A few colleagues and I were added to a queue, and after roughly three months we got confirmation. Once the shipping details were verified through the updated process, the jacket arrived in the US in just a few business days.</p><p>That process can vary. Recent AWS event pages show Golden Jacket programs tied to holding all active AWS certifications, staying current, and applying through an event-specific form or recognition path rather than through a single universal public workflow (<a href="https://pages.awscloud.com/GLOBAL-event-T1-AWS-re-Invent-Golden-Jacket-2025-reg.html">like re:Invent2025</a>). At recent AWS event pages, AWS described the Golden Jacket as recognition for professionals who hold all active AWS certifications, and some event programs required all 12 certifications to remain valid during the event.</p><p>I also learned something else important: the jacket is real, but the journey should never be about the jacket alone.</p><p>Also, for the record: <strong>the AWS Golden Jacket was not always waterproof, but now it is!!!.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_oHXF1GOGCP86KTjbNz2qA.png" /><figcaption>The Golden Jacket, Unboxed</figcaption></figure><h3>What the jacket officially gives you — and what it does not</h3><p>Let’s be honest about this, because the mystique around the Golden Jacket sometimes creates the wrong expectations.</p><p>As far as AWS publicly documents, <a href="https://aws.amazon.com/certification/benefits/">AWS Certification benefits</a> include things like digital badges, a 50% exam discount for a future exam, and event recognition such as access to AWS Certification lounges at re:Invent and select summits. AWS also publicly runs some event-based Golden Jacket application and distribution programs.</p><p>But the jacket itself is not a magical VIP pass.</p><p>In practice, I have not seen it come with official promises such as:</p><ul><li>priority access to sessions</li><li>guaranteed invites to private events</li><li>discounts or perks by default</li><li>skip-the-line privileges</li></ul><p>What it <em>does</em> create is something more organic, and in some ways more useful:</p><h4>Instant recognition</h4><p>At AWS events, people notice it immediately. You do not have to explain as much. It becomes a visual shorthand for “this person has gone deep.”</p><h4>Easier networking</h4><p>The quality of conversations changes. People approach you differently. AWS folks, architects, builders, partners, and other certified professionals often start the conversation at a more advanced level.</p><h4>Faster technical trust</h4><p>The jacket does not prove that every idea you have is correct. But it does signal that you have done serious work across the AWS landscape. That often helps you get to the real conversation faster.</p><h4>Visibility and personal brand</h4><p>Whether we like it or not, symbols matter. The jacket is memorable. It stands out in pictures, at events, and on social media. If you are already writing, speaking, mentoring, or building publicly, it amplifies that signal.</p><h4>Community signal</h4><p>To people who know what it takes, the jacket says something simple: this person committed to learning broadly and kept going.</p><p>That is why I believe the Golden Jacket has real value even without official perks.</p><h3>Why it is useful to pursue the Golden Jacket</h3><p>This is probably the most important part of the entire blog post. I don’t believe the value lies in “having all the certifications” as an end in itself.<br>The real value is becoming more confident in the solution space.</p><p>AWS is enormous. The certification journey forces you to build a broader mental map of what exists, what problems each service solves, and what trade-offs come with each decision. AWS organizes certifications across Foundational, Associate, Professional, and Specialty levels, which naturally mirrors the layered understanding required in real-world projects.</p><p>That breadth matters because real architecture is rarely about a single service. It’s about combining the right services in the right way — without overengineering.</p><p>For me, this was especially important. I come from a strong software architecture background, but one of my main focus areas is machine learning. I wanted to feel confident not only with ML-specific services, but with the entire supporting stack needed to build end-to-end solutions: security, networking, observability, data, deployment, integration, and operations.</p><p>For others, the motivation may be different.</p><p>Maybe your goal is to deepen your expertise in security.<br>Maybe you want to better understand DevOps or platform engineering.<br>Maybe you’re an architect looking for a more complete view of the cloud.<br>Or maybe you lead teams and want a stronger framework for making technical decisions across domains.</p><p>The key is simple: <strong>identify your reason.</strong></p><p>If your reason is only <em>“I want the jacket,”</em> your motivation will probably not survive the harder exams. But if your reason is <em>“I want a deeper understanding of the cloud so I can make better decisions,”</em> then the jacket becomes a meaningful milestone — not just a costume.</p><p>Finally, don’t underestimate the role of people and community in this journey.</p><p>Sharing the process with your colleagues and the broader community can make a huge difference. You not only motivate others to learn and grow, but you also create an environment where knowledge flows more naturally. In many cases, the people around you — your teammates, peers, and mentors — become your best teachers along the way.</p><p>In the end, the journey is not just about what you learn, but also about who you learn it with.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ehrx-XSCHVmFyi3123_S5A.jpeg" /><figcaption>Some of the amazing colleagues who were part of my journey to the Golden Jacket — people are everything; the jacket was just the excuse.</figcaption></figure><h3>What people get wrong about the Golden Jacket</h3><p>The biggest mistake is confusing certification with mastery.</p><p>Even studying hard and passing the exam is still not enough to make someone a great architect. Real depth still comes from practice, failure, reading documentation, building systems, debugging incidents, and seeing how theory behaves under constraints.</p><p>The certification process is incredibly useful, but it is not the end of learning. In fact, it should make you more humble.</p><p>That was one of the strongest feelings I had after completing the journey: not “I know everything,” but almost the opposite. I felt <strong>more responsibility</strong> to go deeper into the details, better understand technical trade-offs, read documentation more carefully, and keep sharpening my judgment.</p><p>That is a good sign.</p><p>Because the right outcome of a big milestone in tech is not arrogance. It is responsibility.</p><h3>A few things that helped me</h3><p>One of the best decisions I made was avoiding very long gaps between certifications.</p><p>When you leave too much time between exams, you forget things. The momentum disappears. The connections between domains get weaker. If you are going to do this seriously, I think it is better to maintain a rhythm that helps the knowledge compound.</p><p>Another important lesson: do not compare your path with someone else’s.</p><p>Do not compare your order of certifications.<br>Do not compare your pace.<br>Do not compare your number of failed attempts.<br>Do not compare your work context.</p><p>Some people have more hands-on exposure in security. Others live in data platforms. Others are already deep in networking. Some have employers that support study time and exam budgets. Some do not.</p><p>Your path should fit your goals and your reality.</p><p>Also, be ready to fail.</p><p>Not every exam goes the way you expect. Some questions feel ambiguous. Some domains expose your blind spots. Some exams simply hit you on a bad day. That is part of the process.</p><h3>How to actually receive the physical Golden Jacket</h3><p>This part is worth explaining because many people ask about it. The exact process may change over time, but the core principle appears consistent: you need to hold <strong>all active AWS certifications</strong>, and in some official event programs AWS has required those certifications to remain valid at the time of recognition or event pickup. Recent AWS event pages have shown Golden Jacket application forms for specific events, pickup through certification lounges, and event-based distribution rather than one single evergreen public request page. AWS also updates its certification catalog over time, including launches and retirements, which is why “all active certifications” matters more than memorizing a number forever.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fDw5xJRquZRklUUO4GLR3w.png" /><figcaption>AWS just released in April 2026 a new gold jacket program where you can self-redeem a jacket through an internal process: <strong>I was part of the beta program</strong>!</figcaption></figure><p>So the most accurate advice I can give is:</p><ol><li>Make sure you truly hold all active certifications.</li><li>Keep them active.</li><li>Ask your AWS contact, partner contact, or employer contact what current recognition path applies to your case.</li><li>Watch for event-specific Golden Jacket forms, especially around major AWS events.</li><li>Be patient, because logistics and distribution can vary by location.</li></ol><p>In my case, being at an AWS Premier Partner helped because there was already a direct communication path with AWS, and the company was willing to cover the jacket. That kind of environment also creates something else that matters a lot: <strong>certification culture</strong>.</p><p>When several people in a company are pursuing certifications, talking about services, sharing notes, and learning together, the momentum becomes much stronger.</p><p>That culture matters more than most people think.</p><h3>What to do after you get it</h3><p>The Golden Jacket should not be the end of the story. If anything, it should be the beginning of a more useful phase.</p><blockquote>Help other people learn.<br>Stay current on AWS service changes and new launches.<br>Experiment more.<br>Share your experiments publicly.<br>Plan your recertification strategy.<br>Build community impact.<br>Teach.<br>Mentor.<br>Speak.<br>Write.<br>Contribute.</blockquote><p>AWS changes continuously. Certifications are updated. Exams retire. New ones launch. AWS itself has publicly changed the certification lineup over time, including retiring some specialty exams and introducing new role-based ones. So the Golden Jacket is not really a finish line. It is more like a public reminder that staying current is now part of your identity. For some people, that next step may be becoming an AWS Community Builder. For others, it may be becoming an AWS Ambassador (I explained here how to do this: I Became an AWS Ambassador: <a href="https://medium.com/@crhisto/i-became-an-aws-ambassador-what-it-took-what-it-means-and-why-it-matters-562f62f65094">What It Took, What It Means, and Why It Matters</a>), an SME, a teacher, or simply the person in their company who helps raise the technical bar. All of those are good paths.</p><h3>Final thought</h3><p>The AWS Golden Jacket is useful, but not because it gives you special access. It is useful because it pushes you through a journey that can fundamentally improve how you think.</p><blockquote>It can make you broader.<br>It can make you more disciplined.<br>It can make you more credible.<br>It can make you more helpful to customers, teams, and communities.</blockquote><p>But only if you treat it as a symbol of learning, not as a shortcut to status.</p><blockquote>So yes, the jacket is shiny.<br>Yes, it gets attention.<br>Yes, it is fun to wear at AWS events.</blockquote><p><em>But the real prize is not the fabric. It is the person you become while earning it.</em></p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com/</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8ccddfd0b718" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Beyond Static Rules: Building Agentic Content Evaluation Systems on Amazon Bedrock]]></title>
            <link>https://medium.com/loka-engineering/beyond-static-rules-building-agentic-content-evaluation-systems-on-amazon-bedrock-9661968fa51c?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/9661968fa51c</guid>
            <category><![CDATA[aws-bedrock]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[aws]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Wed, 22 Apr 2026 09:46:49 GMT</pubDate>
            <atom:updated>2026-04-22T16:03:07.302Z</atom:updated>
            <content:encoded><![CDATA[<h4><em>How to turn scattered guidelines into adaptive workflows that score, explain, and improve content at scale</em></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*o9AfGBN336_5f3nKGijYNQ.png" /></figure><p>Everyone talks about generating content with GenAI.</p><p>Almost no one talks about how to evaluate it.</p><p>And that’s where most systems break.</p><p>Generative AI has dramatically accelerated how quickly teams can create content. But in doing so, it has quietly introduced a harder problem:</p><blockquote><strong>How do you evaluate that content consistently, repeatedly, and at scale?</strong></blockquote><p>This is the part that often gets underestimated. Generating content is the easy demo. <strong>Governing its quality is the real engineering challenge.</strong></p><p>Across enterprises, this challenge shows up in different ways. Marketing teams need content to follow tone and messaging guidelines. Compliance teams must ensure documents include required language. Platform teams want internal documentation reviewed for quality and consistency. Product teams care about SEO and accessibility. ML teams need dataset artifacts validated for completeness and policy alignment (See <strong>Table 1</strong> for more examples).</p><p>The pattern is always the same: there <em>is</em> a standard — but it’s fragmented. It lives across documents, tribal knowledge, examples, policies, and reviewer habits. Manual review doesn’t scale. Static rules are too brittle. One-shot prompting is flexible, but often inconsistent and hard to reproduce.</p><p>What’s missing is not another prompt — it’s a system.</p><p>A system that can <strong>define how evaluation should work, refine that definition over time, and apply it consistently</strong>.</p><p>In this post, I explore a workflow that does exactly that: it generates a structured evaluation guideline (in a machine-readable format such as JSON — though it could also be represented in Markdown or similar formats), refines it iteratively using new inputs, applies it consistently to content, and validates the results using LLM-as-a-Judge techniques.</p><p>Along the way, it introduces key capabilities such as drift detection, external enrichment, benchmarking, and full traceability.</p><p>The result is a shift away from “ask the model to review this” toward something far more robust:</p><blockquote><em>A system that can build its own evaluation standard, improve it over time, and check whether its own judgments remain trustworthy.</em></blockquote><p>That’s where this approach becomes interesting — not just as a solution, but as a pattern for building more reliable, agentic GenAI systems.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fdn0dj%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fdn0dj%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2Fdn0dj%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="776" frameborder="0" scrolling="no"><a href="https://medium.com/media/5fa2fd3565a03359ea6e1a6cf7013730/href">https://medium.com/media/5fa2fd3565a03359ea6e1a6cf7013730/href</a></iframe><h3>Why this problem matters more in the GenAI era</h3><p>Before LLMs, content evaluation was typically handled in one of three ways.</p><p>The first was <strong>deterministic validation</strong>: schemas, regexes, linting rules, checklists, and business logic. These approaches work extremely well when the problem is narrow and clearly defined. However, they start to break down when evaluation involves softer dimensions such as tone, ambiguity, clarity, structure, or domain-specific nuance.</p><p>The second approach was <strong>human review</strong>. Humans are flexible and context-aware, making them ideal evaluators. But they are also expensive, slow, and inherently inconsistent across reviewers, teams, and time.</p><p>The third, more recent shortcut is to rely on a <strong>single LLM prompt</strong> — essentially asking: <em>“Review this content and tell me if it’s good.”</em> This can work surprisingly well in prototypes, but it often leads to unstable and hard-to-reproduce results. The evaluation criteria are usually implicit, buried in prompt wording, and rarely versioned or traceable.</p><p>What teams actually need is not just <em>an LLM reviewer</em>, but a <strong>repeatable and structured evaluation system</strong>.</p><p>That’s why an architecture that addresses these limitations is so compelling. Instead of relying on ad hoc evaluations, it breaks the problem into clear stages: <strong>define the evaluation standard, refine it incrementally, apply it consistently, and validate the results</strong>. In practice, this approach is much closer to how mature, production-grade GenAI systems should be designed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/702/1*6ZqduQlR_VdjlOn3OruK4Q.png" /><figcaption><strong>Figure 1:</strong> Reference Architecture for Agentic Content Evaluation</figcaption></figure><h3>A concrete example</h3><p>To make this more tangible, let’s walk through a simple scenario:</p><p>Imagine an e-commerce company that needs to review <strong>10,000 product descriptions every day</strong>.</p><p>Each description is supposed to follow internal guidelines:</p><ul><li>include key product attributes,</li><li>maintain a consistent tone,</li><li>avoid restricted or misleading terms,</li><li>and meet marketplace compliance requirements.</li></ul><p>Today, this process is handled through a mix of manual review, scattered checklists, and a few brittle rules.</p><p>Some descriptions are too vague. Others are missing critical information. Some violate tone or compliance guidelines. The result is inconsistent quality — and a process that doesn’t scale.</p><p>Now imagine replacing that with a system that can:</p><ul><li>define what “<strong>good</strong>” looks like,</li><li>apply that <strong>definition consistently across all content</strong>,</li><li>and <strong>continuously improve its own evaluation criteria over time</strong>.</li></ul><p>That’s exactly the kind of system we’ll build throughout this post.</p><h3>The agentic idea hiding inside this architecture</h3><p>At first glance, this might look like a content-quality pipeline. But there is a deeper GenAI pattern behind it.</p><p>This design is really an example of an <strong>agentic evaluation loop</strong>.</p><p>The system is not merely generating an answer. It is interacting with a sequence of artifacts and decisions:</p><ul><li>it creates a structured representation of the rules,</li><li>it revises that representation when new evidence appears,</li><li>it applies the rules to a target artifact,</li><li>it critiques the result,</li><li>and it can compare itself to ground truth.</li></ul><p>That is much closer to an agent workflow than to a plain prompt-response interaction.</p><p>The source document lays out this pattern explicitly: the workflow begins with source files, extracts a guideline, refines that guideline iteratively, evaluates an input content piece, and can then use an LLM-as-a-Judge plus ground truth for validation. It also calls out optional enrichment by an external agent and traceability of the sources used across steps.</p><p>In GenAI terms, several important patterns show up here.</p><h3>1. Structured output as a control surface</h3><p>The first pattern is <strong>structured output</strong>. Instead of leaving the evaluation standard buried inside a prompt, the system materializes it as JSON.</p><p>That matters because JSON is not just an output format. It becomes a control surface for the whole system:</p><ul><li>it can be versioned,</li><li>diffed,</li><li>audited,</li><li>reused across runs,</li><li>enriched with metadata,</li><li>and compared across iterations.</li></ul><p>When GenAI systems become operationally important, structured artifacts like this are often the difference between “clever demo” and “maintainable system.”</p><h3>2. Evaluator-optimizer loops</h3><p>A second pattern is the <strong>evaluator-optimizer loop</strong>. One model pass creates or refines a guideline, and a later pass evaluates content against it. Sometimes a further pass judges the quality of that evaluation.</p><p>This is more reliable than a single monolithic prompt because the system separates responsibilities. One step focuses on defining standards. Another focuses on applying them. Another focuses on judging whether the application was sound.</p><p>That decomposition reduces prompt overload and gives you more places to measure quality.</p><h3>3. LLM-as-a-Judge, but grounded</h3><p>The document explicitly includes an LLM-as-a-Judge stage and recommends comparing outputs against expected or ground-truth references where available.</p><p>That is an important realism check. LLM-as-a-Judge is powerful, but it should not be treated as magic. It works best when grounded by one or more of these:</p><ul><li>a clearly defined rubric,</li><li>reference outputs,</li><li>comparison baselines,</li><li>benchmark datasets,</li><li>human spot checks.</li></ul><p>Used well, it becomes a scaling tool for evaluation. Used casually, it becomes another layer of unverified opinion.</p><h3>4. Tool-using agents instead of pure prompting</h3><p>The workflow also maps naturally to a <strong>tool-using agent</strong> pattern. An agent can retrieve source files, read prior guideline versions, call the model for refinement, persist artifacts, compute diffs, compare scores, and trigger a judge step.</p><p>This is where modern agent frameworks become useful. AWS describes Strands Agents as a model-driven SDK where developers define prompts and tools, and the model plans and executes the next steps using those tools. AWS also describes Amazon Bedrock AgentCore as a platform for building, deploying, and operating agents securely at scale, with services such as runtime, memory, gateway, browser, and code interpreter.</p><p>That combination fits this content-evaluation pattern well: Strands can express the agent logic and tool use, while AgentCore can help operationalize it.</p><h3>A better mental model: don’t ask the model to evaluate content</h3><p>A useful reframing is this: <em>Do not ask the model to directly decide whether content is good. Ask the model to first define how goodness should be measured, then make it follow that structure.</em></p><h4>Key Insight</h4><blockquote>Don’t ask the model to evaluate content. Ask it to define how evaluation should work — and then follow that structure.</blockquote><p>That is a much stronger pattern. The moment the standard becomes explicit, you gain several advantages:</p><ul><li>consistency improves,</li><li>outputs become easier to compare,</li><li>errors become easier to debug,</li><li>version drift becomes visible,</li><li>and benchmarking becomes possible.</li></ul><p>This is also one of the most important “GenAI reality” lessons. Reliability usually does not come from a better prompt alone. It comes from introducing more structure around the model.</p><h3>A practical agentic architecture</h3><p>A realistic implementation on AWS could look like this:</p><p><strong>1. Data Storage (Amazon S3)</strong><br>Amazon S3 stores all core artifacts, including source files, guideline versions, evaluation outputs, and benchmarking results. This ensures durability, traceability, and easy version management.</p><p><strong>2. Model Layer (Amazon Bedrock)</strong><br>Amazon Bedrock provides the foundation models used across the workflow — for guideline generation, content evaluation, and LLM-as-a-Judge validation.</p><p><strong>3. Orchestration Layer (Strands Agent)</strong><br>A Strands-based agent orchestrates the end-to-end process. It leverages tools to:</p><ul><li>Read and process source files</li><li>Generate and persist structured JSON guidelines</li><li>Compare revisions across iterations</li><li>Compute evaluation metrics and scores</li></ul><p><strong>4. Agent Runtime &amp; Production Layer (Amazon Bedrock AgentCore)</strong><br>Amazon Bedrock AgentCore provides the production-grade environment to run the agent reliably at scale, including:</p><ul><li>Session management and memory</li><li>Secure tool access</li><li>Scalable execution</li><li>Advanced capabilities such as code execution or browser-based enrichment</li></ul><p><strong>5. Compute &amp; Deployment Options (AWS Lambda / Amazon ECS)</strong><br>Supporting components can be deployed using AWS Lambda for event-driven workloads or Amazon ECS (with Fargate) for containerized, long-running processes, depending on system requirements.</p><p>The most important thing here is not a specific service choice. It is the separation of concerns:</p><ul><li><strong>artifact generation</strong>,</li><li><strong>artifact refinement</strong>,</li><li><strong>artifact application</strong>,</li><li><strong>artifact validation</strong>.</li></ul><p>That separation is what makes the workflow stable enough to evolve.</p><h3>Example 1: a simple Strands agent for guideline extraction</h3><p>In our running example, the system begins by analyzing existing product guidelines, past high-quality descriptions, and relevant compliance rules. From these inputs, it generates a structured guideline — represented as JSON — that defines what a “good” product description looks like, including required attributes, tone, and constraints.</p><p>The goal of this first step is not to evaluate content yet, but to <strong>explicitly define the evaluation standard</strong>.</p><p>The following example shows the general pattern. Strands allows you to define agents with tools, and its Python SDK makes it easy to create custom tools using the @tool decorator. This enables the agent to interact with external data (e.g., reading source documents or persisting outputs) as part of its reasoning process.</p><pre>from strands import Agent, tool<br>import json<br><br>@tool<br>def load_source_text(path: str) -&gt; str:<br>    &quot;&quot;&quot;Load a source guideline document from local storage or S3-mounted path.&quot;&quot;&quot;<br>    with open(path, &quot;r&quot;, encoding=&quot;utf-8&quot;) as f:<br>        return f.read()<br><br>@tool<br>def save_guideline(path: str, guideline_json: str) -&gt; str:<br>    &quot;&quot;&quot;Persist a guideline JSON artifact.&quot;&quot;&quot;<br>    with open(path, &quot;w&quot;, encoding=&quot;utf-8&quot;) as f:<br>        f.write(guideline_json)<br>    return f&quot;Saved guideline to {path}&quot;<br><br>SYSTEM_PROMPT = &quot;&quot;&quot;<br>You are a content-evaluation architect.<br><br>Your job is to extract a domain-specific evaluation guideline and return it as strict JSON.<br>The JSON must include:<br>- domain<br>- version<br>- categories<br>- checks<br>- scoring_approach<br>- rationale_summary<br>- source_references<br><br>Do not return prose outside the JSON.<br>&quot;&quot;&quot;<br><br>agent = Agent(<br>    system_prompt=SYSTEM_PROMPT,<br>    tools=[load_source_text, save_guideline]<br>)<br><br>result = agent(&quot;&quot;&quot;<br>Read the source file at ./inputs/seo_guidelines.md.<br>Create a normalized evaluation guideline for HTML pages.<br>Then save it to ./artifacts/guideline_v1.json.<br>&quot;&quot;&quot;)<br><br>print(result)</pre><p>This example is intentionally simple, but it highlights a critical design choice:</p><blockquote><em>The model is not asked for a vague review. It is asked to produce a </em><strong><em>durable, structured evaluation artifact</em></strong><em>.</em></blockquote><p>That shift — from implicit judgment to explicit standards — is what enables consistency, traceability, and continuous improvement in later stages of the system.</p><h3>Example 2: iterative refinement as a first-class pattern</h3><p>One of the most important ideas in this approach is that guideline generation should be <strong>iterative</strong>, not fully regenerated on every run. This significantly reduces cost, preserves prior knowledge, and allows the evaluation standard to evolve in a controlled and transparent way.</p><p>In our running example, new information is constantly introduced — such as updated compliance rules or newly curated high-quality product descriptions. Instead of rebuilding the guideline from scratch, the system <strong>incrementally refines it</strong>, improving its understanding of what “good” looks like over time.</p><p>This turns the guideline into a <strong>living artifact</strong>, rather than a disposable output.</p><p>Strands supports this pattern through hooks and re-invocation mechanisms, which make it straightforward to implement refinement loops. These capabilities align naturally with the <strong>evaluator–optimizer pattern</strong>, where each iteration builds on the previous one.</p><pre>from strands import Agent<br>from strands.hooks import AfterInvocationEvent<br><br>MAX_REFINEMENT_ROUNDS = 3<br>iteration = 0<br><br>agent = Agent(system_prompt=&quot;&quot;&quot;<br>You maintain a content evaluation guideline in JSON.<br>At each step, refine the current guideline using the newly provided source text.<br>Preserve previous valid categories unless the new source clearly contradicts them.<br>Always return valid JSON only.<br>&quot;&quot;&quot;)<br><br>async def refinement_hook(event: AfterInvocationEvent):<br>    global iteration<br>    if iteration &lt; MAX_REFINEMENT_ROUNDS and event.result:<br>        iteration += 1<br>        event.resume = (<br>            f&quot;Review your previous JSON and improve it using the next source file. &quot;<br>            f&quot;This is refinement iteration {iteration} of {MAX_REFINEMENT_ROUNDS}. &quot;<br>            f&quot;Keep the output strict JSON.&quot;<br>        )<br><br>agent.add_hook(refinement_hook)<br><br>result = agent(&quot;&quot;&quot;<br>Start from guideline_v1.json and refine it with the policies in ./inputs/accessibility_rules.md.<br>&quot;&quot;&quot;)</pre><p>Conceptually, this is the shift from a <strong>static reviewer</strong> to an <strong>adaptive system</strong>.<br>The guideline is no longer a one-time artifact — it evolves with new data, new constraints, and better examples, becoming progressively more accurate and useful over time.</p><h3>Example 3: using AgentCore Code Interpreter to verify scoring logic</h3><p>Once the system begins producing structured evaluation reports, an important question emerges:</p><blockquote><strong>How do we verify that the scoring logic is actually correct?</strong></blockquote><p>This is where deterministic validation becomes valuable.</p><p>In our running example, the system may evaluate thousands of product descriptions and generate JSON reports with section-level scores, aggregate scores, and drift indicators across versions. While an LLM can reason about the results, some parts of the workflow — such as score calculations, deltas, and metric comparisons — are better handled with code.</p><p>This is an important production pattern: <strong>use the model for judgment and interpretation, but rely on tools for deterministic verification</strong>.</p><p>With AgentCore Code Interpreter, the agent can execute Python code in a managed environment to validate calculations, compare outputs across versions, and identify significant changes in the results. This helps ensure that the evaluation pipeline is not only intelligent, but also auditable and mathematically consistent.</p><pre>from strands import Agent<br>from strands_tools.code_interpreter import AgentCoreCodeInterpreter<br><br>code_interpreter_tool = AgentCoreCodeInterpreter(region=&quot;us-west-2&quot;)<br><br>SYSTEM_PROMPT = &quot;&quot;&quot;<br>You are an evaluation auditor.<br>When given evaluation reports in JSON, use Python code to:<br>1. verify score calculations,<br>2. compare results across versions,<br>3. compute drift deltas,<br>4. summarize statistically significant changes.<br><br>Return a concise explanation plus the validated metrics.<br>&quot;&quot;&quot;<br><br>agent = Agent(<br>    tools=[code_interpreter_tool.code_interpreter],<br>    system_prompt=SYSTEM_PROMPT<br>)<br><br>response = agent(&quot;&quot;&quot;<br>Load two JSON reports:<br>- ./artifacts/eval_report_v3.json<br>- ./artifacts/eval_report_v4.json<br><br>Verify whether the overall score is correctly derived from section scores.<br>Then compute the delta by category and identify the three largest changes.<br>&quot;&quot;&quot;)<br><br>print(response.message[&quot;content&quot;][0][&quot;text&quot;])</pre><p>This example highlights an important principle for agentic systems in production:</p><blockquote><em>Let the model reason about </em><strong><em>what</em></strong><em> should be inspected, but let tools verify </em><strong><em>what can be computed exactly</em></strong><em>.</em></blockquote><p>That combination makes the system more robust, transparent, and trustworthy — especially when evaluation outputs begin to influence business decisions or downstream automation.</p><h3>Example 4: operationalizing the agent with Amazon Bedrock AgentCore</h3><p>So far, we’ve focused on building the workflow. But in practice, the hardest part is not creating the system locally — it’s <strong>running it reliably in production</strong>.</p><p>Evaluation is rarely a one-off task. In real-world scenarios, the system must handle repeated workloads, maintain context across sessions, ensure traceability, and operate securely at scale.</p><p>This is where <strong>Amazon Bedrock AgentCore</strong> becomes relevant.</p><p>AgentCore provides a framework-agnostic environment for deploying and operating agents in production. It offers capabilities such as:</p><ul><li>managed runtime and scaling</li><li>session handling and memory</li><li>controlled tool access</li><li>secure execution environments</li><li>support for advanced capabilities like code execution or browser-based enrichment</li></ul><p>Together, these features allow you to move from a prototype to a <strong>production-grade agentic system</strong>.</p><p>A simplified invocation example using the invoke_agent_runtime API looks like this:</p><pre>import boto3<br>import json<br><br>client = boto3.client(&quot;bedrock-agentcore&quot;)<br><br>payload = json.dumps({<br>    &quot;prompt&quot;: &quot;&quot;&quot;<br>    Evaluate ./inputs/page.html against guideline_v4.json.<br>    Return JSON with section scores, mismatches, suggestions, and rationale_summary.<br>    &quot;&quot;&quot;<br>}).encode()<br><br>response = client.invoke_agent_runtime(<br>    agentRuntimeArn=&quot;arn:aws:bedrock-agentcore:us-west-2:[id :) ]:runtime/my-evaluator&quot;,<br>    runtimeSessionId=&quot;content-eval-session-001&quot;,<br>    payload=payload<br>)<br><br>print(response)</pre><p>In our running example, this could represent a production system evaluating thousands of product descriptions per day — each request executed as part of a managed session, with full traceability and controlled access to tools and data.</p><p>This matters because evaluation is not just a technical step — it’s an <strong>operational capability</strong>.<br> You need to support:</p><ul><li>repeatable and scalable execution</li><li>consistent environments across runs</li><li>auditability of results</li><li>safe rollout of changes to guidelines and evaluation logic</li></ul><blockquote><em>Moving from local workflows to AgentCore is what transforms this pattern from a clever prototype into a </em><strong><em>reliable, enterprise-ready system</em></strong><em>.</em></blockquote><h3>Why this pattern is especially relevant now</h3><p>The use cases listed in <strong>Table 1</strong> are broad for a reason. Whether it’s code review, policy compliance, SEO and accessibility audits, academic writing, brand guideline enforcement, e-commerce validation, incident reports, or dataset quality checks — they all share the same underlying structure.</p><p>Across these domains, the problem consistently involves:</p><ul><li>a <strong>changing standard</strong>,</li><li><strong>imperfect and evolving source material</strong>,</li><li>a mix of <strong>objective and subjective criteria</strong>,</li><li>and the need for <strong>scalable, repeatable evaluation</strong>.</li></ul><p>These are inherently difficult problems to solve with traditional approaches.</p><p>This is precisely where GenAI can provide real value — but only when it is <strong>wrapped in structure</strong>. Without that structure, you get inconsistent and hard-to-trust outputs. With it, you unlock systems that are not only flexible, but also reliable, auditable, and capable of improving over time.</p><h3>The production lesson: trust comes from process, not from eloquence</h3><p>A final point is worth making explicitly.</p><p>In early GenAI prototypes, teams often get impressed by eloquent model output. In production, eloquence matters much less than process.</p><p>A trustworthy evaluator is not one that sounds smart. It is one that:</p><ul><li>uses explicit rubrics,</li><li>stores evaluation artifacts,</li><li>can be benchmarked,</li><li>shows its evidence,</li><li>supports drift analysis,</li><li>and can be cross-checked by a second mechanism.</li></ul><p>That is why the original proposal’s emphasis on ground truth, benchmarking, traceability, and version drift is so strong. Those are not “nice to have” details. They are what makes the architecture credible.</p><p>In this scenario, what started as a manual review process becomes a scalable, self-improving system — capable of evaluating thousands of product descriptions daily while continuously refining its own standards.</p><h3>Conclusion</h3><p>The real opportunity here is bigger than content QA.</p><p>This pattern points toward a broader class of GenAI systems where the model does not just generate outputs. It helps define standards, improve them, apply them consistently, and measure how reliable the process remains over time.</p><p>That is a far more useful direction for enterprise GenAI.</p><p>By combining structured JSON guidelines, iterative refinement, tool-using agents, LLM-as-a-Judge validation, and production infrastructure such as Amazon Bedrock AgentCore, teams can move from one-off review prompts to evaluation systems that are adaptive, auditable, and operationally realistic.</p><p>And in my opinion, that is where a lot of the real value of agentic AI will be found over the next few years: not only in generating more content, but in building systems that can <strong>govern quality at the speed of generation</strong>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9661968fa51c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/loka-engineering/beyond-static-rules-building-agentic-content-evaluation-systems-on-amazon-bedrock-9661968fa51c">Beyond Static Rules: Building Agentic Content Evaluation Systems on Amazon Bedrock</a> was originally published in <a href="https://medium.com/loka-engineering">Loka Engineering</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Which Claw Is Best? A Guide to OpenClaw and Its Variants]]></title>
            <link>https://medium.com/@crhisto/which-claw-is-best-a-guide-to-openclaw-and-its-variants-dc8ea9148441?source=rss-2aadd99d4b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/dc8ea9148441</guid>
            <category><![CDATA[machine-learning-ai]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[openclaw]]></category>
            <category><![CDATA[automation]]></category>
            <dc:creator><![CDATA[Crhistian Cardona]]></dc:creator>
            <pubDate>Sun, 12 Apr 2026 21:35:39 GMT</pubDate>
            <atom:updated>2026-06-24T13:45:04.179Z</atom:updated>
            <content:encoded><![CDATA[<h4>A Deep‑Dive into the Fastest‑Growing AI‑Agent Ecosystem</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZfRm2f3pV0VHrHPzef8czQ.png" /></figure><h3>Why another Claw guide?</h3><p>OpenClaw is one of the most powerful AI agent frameworks right now. It can read your emails, run code, connect to your apps… and if you’re not careful, it can also break things.<strong> The problem? There isn’t just one OpenClaw anymore</strong>. There are dozens of variants — NanoClaw, NemoClaw, PicoClaw, ZeroClaw — each optimized for something different: security, speed, cost, or scale.</p><blockquote>So… which one should you actually use?</blockquote><p>Some weeks ago I published a piece called “We Built Agents That Think. OpenClaw Builds Agents That Act” in which I argued that OpenClaw signals a shift away from reasoning‑centric multi‑agent systems such as AWS AgentCore and LangGraph toward action‑oriented agent architectures. (You can find that post here: <a href="https://medium.com/@crhisto/we-built-agents-that-think-openclaw-builds-agents-that-act-64005e74e03e"><em>We Built Agents That Think — OpenClaw Builds Agents That Act</em></a>). After that article went live I spent hours discussing different approaches and system tweaks with colleagues and friends and fielded a steady stream of questions: <em>which “Claw” is best?</em> In the meantime I began tinkering with various forks and variants of OpenClaw to see how they differ in practice.</p><p>Those experiments and conversations made one thing clear: <em>the community needs a more comprehensive comparison</em>. The Claw ecosystem is evolving at breakneck speed. New variants appear almost weekly — each promising better security, lower resource usage, or broader integrations. It’s exciting… but also confusing.</p><p>To help make sense of it all, I’ve put together this guide. It distills what I’ve learned about the main variants — OpenClaw, NanoClaw, NemoClaw, PicoClaw, ZeroClaw, NullClaw, NanoBot, Ironclaw, and TinyClaw — and, more importantly, how to think about choosing between them and deploying them in practice.</p><p>Before we go deeper, here’s my take:</p><blockquote>Most people should NOT start with OpenClaw.<br> They should start with NanoClaw.</blockquote><p>Not because OpenClaw is bad — but because it’s <em>too powerful without strong isolation</em>, and most users underestimate the risks that come with that level of autonomy.</p><p>Let’s break down why.</p><p><strong><em>Note</em></strong><em>: This reflects the ecosystem as of the publication date. Things are moving fast, so expect new variants and updates to appear quickly.</em></p><h3>The rise of autonomous AI agents</h3><p>In early 2026 an open‑source project called OpenClaw took the internet by storm. Austrian developer Peter Steinberger released a prototype called <em>Clawdbot</em> that allowed large‑language‑model (LLM) agents to run locally on a user’s machine and connect to messaging apps like WhatsApp, Telegram and Slack. After a handful of renamings and rapid viral growth, the project was re‑named <em>OpenClaw</em> and quickly became the fastest‑growing open‑source project in history. Users could instruct a “claw” through chat and the agent would read emails, browse the web, run shell commands and chain multi‑step workflows. Within three weeks the project’s GitHub repository had accumulated hundreds of thousands of stars and thousands of forks, turning OpenClaw into the de‑facto “operating system for personal AI”.</p><p>However, giving an LLM persistent memory and the ability to execute arbitrary commands on your machine introduces enormous security risks. Security researchers quickly found multiple remote‑code‑execution vulnerabilities and prompt‑injection paths, and users discovered that a misbehaving agent could delete files, leak credentials or send private conversations into public channels. Recognizing the risk, the open‑source community created a series of variants — <strong>NanoClaw</strong>, <strong>NemoClaw</strong>, <strong>PicoClaw</strong>, <strong>ZeroClaw</strong>, <strong>NullClaw</strong>, <strong>NanoBot</strong>, <strong>Ironclaw</strong> and <strong>TinyClaw</strong> — each re‑imagining the agent architecture to emphasize security, resource efficiency or enterprise scalability. This guide synthesizes open documentation, credible blog posts and official announcements to compare these projects and provide practical recommendations for developers, hobbyists and enterprises.</p><h3>Quick Answer</h3><p>If you just want the answer:</p><ul><li>Use OpenClaw → if you want full power (and accept risk)</li><li>Use NanoClaw → if you want safety + flexibility</li><li>Use ZeroClaw → if you want performance + determinism</li><li>Use NemoClaw → if you are enterprise</li></ul><p>Now let’s break down why.</p><h3>OpenClaw — the monolithic powerhouse</h3><p>OpenClaw is designed to be a full‑featured personal assistant with a broad integration ecosystem. According to a DEV Community analysis, OpenClaw’s codebase approaches 500 000 lines, includes over 70 software dependencies and contains 53 configuration files. It supports 50+ native integrations spanning SaaS platforms, cloud databases and messaging services, and can route calls to multiple LLM back‑ends — including models from OpenAI, Anthropic, and even local models running on consumer hardware. Persistent state management allows the agent to recall context across days or weeks of continuous operation.</p><p>OpenClaw’s immense flexibility comes at a cost. Its security model relies primarily on application‑layer controls such as API whitelists and device‑pairing codes. Because the agent executes code directly on the host operating system, running it safely often requires complex infrastructure: hardened virtual machines, read‑only file systems, strict VLAN isolation and custom AppArmor profiles. The large codebase also creates a huge attack surface. Security researchers note that having hundreds of contributors pushing code at breakneck speed into a half‑million‑line project makes auditing practically impossible. As a result, most professional users deploy OpenClaw inside isolated environments or on a dedicated “agent box” to prevent damage (like me!).</p><p>Nevertheless, OpenClaw remains the most feature‑rich framework. It provides out‑of‑the‑box support for voice commands, a live canvas, native mobile apps (macOS, iOS and Android) and a host of channels (Telegram, WhatsApp, Discord, Signal, iMessage and Teams). With more than 330 000 GitHub stars (as of March 2026) and an active Discord community, it has the largest ecosystem of plugins and third‑party skills. OpenClaw is best suited for developers who need maximum flexibility, have the ability to harden infrastructure themselves and are comfortable accepting some security risk. For individuals without an isolated machine, caution is advised.</p><h3>When to use OpenClaw</h3><ul><li><strong>Enterprise or research teams</strong> that require a broad integration ecosystem and can provision isolated hardware.</li><li><strong>Power users</strong> who want to experiment with advanced multi‑model routing or build custom skills.</li><li><strong>Developers</strong> willing to maintain complex infrastructure and apply strict OS‑level sandboxing to mitigate security risks.</li></ul><h3>NanoClaw — security‑first minimalism</h3><p>NanoClaw was created by developer <strong>Gavriel Cohen</strong> as a response to OpenClaw’s security issues. In a TechFirst interview, Cohen explained that OpenClaw’s half‑million‑line codebase and dozens of dependencies make it fundamentally insecure and difficult to audit. He set out to build a safer alternative that could replicate the benefits of OpenClaw without exposing the host machine. The result is NanoClaw, a lightweight framework whose core logic is roughly 500 lines of code; even after adding containerization, the repository remains around 3 000 lines. NanoClaw tracks the token count of its own repository (≈ 36 000 tokens), meaning the entire project fits within the context window of large models like Claude Opus, enabling automated audits and modifications.</p><p>The defining feature of NanoClaw is <strong>OS‑level isolation</strong>. Each agent session runs inside an independent Linux container (Docker on Linux or Apple Container on macOS). This ensures that if a model hallucinates or a prompt‑injection attack occurs, the damage is limited to the container and cannot harm the host operating system. The sandboxed environment allows the agent to install packages, run shell commands and call external APIs without compromising the computer. NanoClaw includes only a handful of dependencies, reducing the risk of supply‑chain attacks.</p><p>Despite its small size, NanoClaw is highly extensible. Its default configuration supports WhatsApp, Slack, Discord, Signal and other messaging channels. Users can ask the agent to “add voice messages” or “add image generation,” and because the entire codebase fits in the model’s context window, the agent can modify its own codebase in a single call. The community has grown quickly; the GitHub repository has over 25 000 stars github.com and an active Discord with more than 600 developers.</p><h3>Security and risk profile</h3><p>NanoClaw’s container isolation mitigates many of the problems that plague OpenClaw. Because each agent runs in its own container, cross‑channel credential leakage is reduced; the worst that an agent can do is corrupt its own container. However, persistent containers introduce the risk of prompt‑injection persistence. Malicious instructions hidden in files today can affect the agent weeks later if its memory is not reset. NanoClaw’s continuous lifespan also increases the chance of behavioral drift. For tasks requiring deterministic outputs or auditable pipelines, lighter variants like ZeroClaw or ZeptoClaw may be preferable.</p><h3>When to use NanoClaw</h3><ul><li><strong>Security‑conscious individuals</strong> who want a personal assistant but lack the resources to build complex isolation.</li><li><strong>Developers</strong> looking to experiment with containerized agents, custom skills and multi‑agent swarms.</li><li><strong>Small teams</strong> needing cross‑platform messaging integrations without large hardware requirements.</li></ul><h3>NemoClaw — enterprise‑grade safety and scale</h3><p>In March 2026 NVIDIA announced <strong>NemoClaw</strong>, an open‑source AI‑agent platform built for enterprises. The NemoClaw stack installs via a single command using the NVIDIA Agent Toolkit and includes the OpenShell runtime, which sandboxes OpenClaw agents to enforce policy‑based security and privacy guardrails. NVIDIA positions NemoClaw as “the operating system for personal AI” but with enterprise‑class security. Unlike consumer variants, NemoClaw is designed for regulated industries, large‑scale deployments and sensitive data processing.</p><p>NemoClaw integrates deeply with NVIDIA NeMo, Nemotron models and NIM (NVIDIA Inference Microservices) to provide GPU‑accelerated inference and training. It supports both local models (running on GeForce RTX PCs, RTX Pro workstations or DGX servers) and cloud models, routing requests through a privacy router. Hardware agnosticism means the framework can also run on AMD and Intel processors, reflecting NVIDIA’s ambition to own the agent runtime across the entire industry.</p><p>The platform emphasizes <strong>multi‑layer security</strong>: OpenShell enforces sandboxing and policy controls, while NemoClaw’s enterprise toolkit allows organizations to define permission scopes, data‑access policies and network boundaries. Partnerships with Salesforce, Cisco, Google, Adobe and CrowdStrike illustrate NVIDIA’s plan to integrate NemoClaw agents into customer‑relationship management, network management, cloud services and cybersecurity. The release roadmap shows that NemoClaw will be unveiled at GTC 2026, followed by an enterprise adoption phase.</p><h3>When to use NemoClaw</h3><ul><li><strong>Large enterprises</strong> that need an open-source agent platform with strict security controls and policy governance.</li><li><strong>Organizations</strong> requiring integration with NVIDIA’s NeMo framework, Nemotron models or GPU‑accelerated inference.</li><li><strong>Developers</strong> building products that must comply with data‑privacy regulations or operate within regulated industries.</li></ul><h3>Other notable Claw variants</h3><h4>PicoClaw — ultra‑lightweight assistant for embedded devices</h4><p>PicoClaw is written in Go and designed to run on $10 RISC‑V/ARM boards. According to the <em>Claw AI Agent Family</em> blog, it uses under 10 MB of RAM and boots in under one second. Around 95 % of its code was generated by an AI agent during a self‑bootstrapping process. PicoClaw supports basic messaging channels and voice integration and is ideal for IoT or home‑automation projects where hardware is limited.</p><h4>ZeroClaw — performance‑focused Rust implementation</h4><p>ZeroClaw is a re‑implementation of OpenClaw in Rust. Its architecture treats every subsystem, provider and memory as a swappable trait. The binary is approximately 3.4 MB and uses under 5 MB of RAM. ZeroClaw features a sophisticated memory system combining vector and full‑text search with optional PostgreSQL, and a built‑in migration tool for OpenClaw. Cold‑start times are under 10 milliseconds on ARM64 edge nodes, making it suitable for edge‑compute or mobile environments. However, its community and ecosystem are smaller than OpenClaw’s, and features like plugin marketplaces are still maturing.</p><h4>NullClaw — performance extreme in Zig</h4><p>NullClaw pushes minimalism further by compiling to a 678 KB static binary that uses about 1 MB of RAM and starts in under 2 milliseconds. Despite its size, it has 22+ providers, hardware‑peripheral support for Arduino and Raspberry Pi, and around 2 000 tests. NullClaw prioritizes performance and extreme resource efficiency, making it ideal for microcontrollers, low‑power servers or embedded systems. Its small footprint and compiled nature also simplify auditing and reduce the risk of supply‑chain vulnerabilities.</p><h4>Ironclaw — WebAssembly sandbox for maximum security</h4><p>Ironclaw emphasizes security above all else. Every tool runs inside a WebAssembly sandbox and credentials are never exposed directly to the tools. A multi‑layer prompt‑injection defense reduces the risk of malicious input. Because of its strict isolation, Ironclaw currently offers limited channel support but is ideal for highly sensitive data or workloads requiring strong isolation.</p><h4>NanoBot — readable research agent</h4><p>NanoBot is a Python implementation with roughly 4 000 lines of code, about 99 % smaller than OpenClaw. Its goals are readability and research friendliness rather than performance. It provides a simple entry point for developers who want to understand the agent loop or extend it for academic experiments.</p><h4>TinyClaw — multi‑agent orchestration</h4><p>TinyClaw is unique among the Claw family because it orchestrates multiple agents working together. It enables roles such as coder, writer and reviewer to collaborate with a live dashboard. This design is suited for projects where tasks can be decomposed across specialized agents, and users need to supervise or adjust workflows in real time.</p><h4>ZeptoClaw — stateless, deterministic actions</h4><p>Though not as widely known, ZeptoClaw is a stateless, single‑action agent variant. It performs a single deterministic transformation and then terminates, ensuring perfect repeatability. ZeptoClaw uses 5–10 MB of RAM and is ideal for high‑volume batch transformations where reliability is paramount.</p><h3>Comparative Tables</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FgOnxg%2F3%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FgOnxg%2F3%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FgOnxg%2Fplain-s.png%3Fv%3D3&amp;type=text%2Fhtml&amp;schema=dwcdn" width="792" height="605" frameborder="0" scrolling="no"><a href="https://medium.com/media/7482a7dca28a36f7cd419105a8fb849c/href">https://medium.com/media/7482a7dca28a36f7cd419105a8fb849c/href</a></iframe><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FJU1co%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FJU1co%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FJU1co%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="834" height="523" frameborder="0" scrolling="no"><a href="https://medium.com/media/9c6160d48f1b8ca08606455729ef5ba6/href">https://medium.com/media/9c6160d48f1b8ca08606455729ef5ba6/href</a></iframe><h3>Selecting the right variant for your use case</h3><p>When choosing among the Claw variants, consider hardware constraints, security posture, required integrations, and tolerance for agent autonomy and drift.</p><h3>Personal developers and hobbyists</h3><p>If you’re exploring AI agents on your own machine for coding assistance, file management or chat workflows:</p><ul><li><strong>Choose NanoClaw</strong> if you prioritize safety but want a persistent assistant that can handle multi‑step tasks and you don’t mind its container overhead. Run it on a desktop or laptop with at least 100 MB of free RAM. For very low‑power hardware (Raspberry Pi or ESP32), <strong>PicoClaw</strong> or <strong>NullClaw</strong> are better suited because they use &lt; 10 MB of RAM.</li><li><strong>Avoid OpenClaw</strong> unless you can dedicate a separate machine. The monolithic codebase and heavy resource use (&gt; 1 GB RAM) make it risky on everyday laptops.</li><li><strong>Use NanoBot</strong> if your goal is to learn how an agent loop works or to build a new framework. Its small Python codebase is readable and easy to modify.</li></ul><h3>Small teams and startups</h3><p>Teams building prototypes, managing group chats, or automating common workflows can pick:</p><ul><li><strong>NanoClaw</strong> for flexible, containerized agents that can be extended quickly using AI‑assisted code generation. Ensure you reset containers periodically to avoid prompt‑injection persistence.</li><li><strong>ZeroClaw</strong> for deterministic pipelines, continuous integration or low‑latency edge tasks. Its 3.4 MB Rust binary offers excellent performance and memory efficiency.</li><li><strong>TinyClaw</strong> if your workflow involves multiple specialized agents collaborating on tasks (e.g., coder + reviewer + deployer). Use a dashboard to supervise tasks.</li></ul><h3>Enterprises and regulated industries</h3><p>Organizations subject to strict compliance requirements (financial services, healthcare, defence) should avoid general‑purpose clones and choose:</p><ul><li><strong>NemoClaw</strong> (upon release) for enterprise‑grade security, compliance and privacy. It integrates with NVIDIA’s NeMo, Nemotron and NIM frameworks and supports hardware‑agnostic deployments while providing policy‑based guardrails.</li><li><strong>Ironclaw</strong> if your risk tolerance is near zero and you need WebAssembly sandboxing. It’s especially suited for workflows requiring deterministic and auditable execution.</li><li><strong>ZeroClaw or ZeptoClaw</strong> for deterministic, repeatable tasks (data validation, ETL pipelines, simulation) where reliability trumps autonomy.</li></ul><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FYzZVa%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FYzZVa%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FYzZVa%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="600" height="347" frameborder="0" scrolling="no"><a href="https://medium.com/media/eaeb9a48a0cd37d6894891d5791a7649/href">https://medium.com/media/eaeb9a48a0cd37d6894891d5791a7649/href</a></iframe><h3>Cloud deployment options for OpenClaw and its variants</h3><p>Running a persistent AI assistant on your laptop can expose sensitive files and burn through hardware resources. Most guides therefore recommend moving the Gateway component of OpenClaw (and its variants) to a remote server. A cloud VM can stay online 24/7, isolate the agent from your local drive and provide predictable performance. As a DEV Community guide notes, deploying OpenClaw on a cloud VM like Google Cloud Platform is ideal because it keeps the assistant available and isolates sensitive data. The following subsections summarise major cloud providers and hosted platforms that offer straightforward paths to run OpenClaw or compatible variants.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBKxbq%2F1%2F&amp;display_name=Datawrapper&amp;url=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBKxbq%2F1%2F&amp;image=https%3A%2F%2Fdatawrapper.dwcdn.net%2FBKxbq%2Fplain-s.png%3Fv%3D1&amp;type=text%2Fhtml&amp;schema=dwcdn" width="1156" height="976" frameborder="0" scrolling="no"><a href="https://medium.com/media/7f9c9f898a26734cdf4a63ad1e459712/href">https://medium.com/media/7f9c9f898a26734cdf4a63ad1e459712/href</a></iframe><h3>Choosing the right deployment environment</h3><p>The table above illustrates that there is no one‑size‑fits‑all cloud provider. Your decision should balance budget, ease of deployment, geographic region, scalability and security requirements:</p><ul><li><strong>Budget‑constrained hobbyists</strong> should consider <strong>Hetzner</strong>, <strong>Contabo</strong> or <strong>DigitalOcean</strong>. Hetzner’s CX series provides a dependable baseline for ~$4–6/month, while Contabo offers far more RAM per dollar and is ideal for local model inference. DigitalOcean’s 1‑click image is slightly pricier but delivers strong defaults and per‑second billing.</li><li><strong>Non‑technical users</strong> who want an agent quickly without managing servers can choose a <strong>managed platform</strong> like <strong>Hostinger’s 1‑click product</strong>, <strong>xCloud</strong> or <strong>Northflank</strong>. These services handle installation, updates and security but cost more per month.</li><li><strong>Developers requiring scalability or integration</strong> with existing cloud infrastructure may favour <strong>AWS</strong> (Lightsail or EC2) or <strong>Azure</strong>. AWS integrates well with Bedrock and other services, while Azure offers Bastion‑based isolation and enterprise networking. Note, however, that Azure’s costs can be high once you factor in Bastion.</li><li><strong>Security‑sensitive or enterprise deployments</strong> might choose <strong>Azure</strong>, <strong>OVHcloud</strong> or <strong>NemoClaw on NVIDIA DGX/enterprise hardware</strong>. Azure’s NSG and Bastion model allow strict access control; OVHcloud includes DDoS protection and daily backups; NemoClaw offers policy‑based guardrails and GPU acceleration.</li><li><strong>Zero‑cost experiments</strong> can leverage <strong>Oracle Cloud’s</strong> free tier (ARM) but must deal with limited capacity and ARM‑specific issues.</li></ul><h3>Advice for variant deployment</h3><p>Not all Claw variants have the same resource requirements:</p><ul><li><strong>OpenClaw</strong> requires at least <strong>4 GB RAM</strong> and benefits from SSD or NVMe storage; cloud providers with 2 vCPUs and 4 GB RAM (DigitalOcean $24/month or Hetzner CX33) handle basic workloads. For browser automation or local model inference, choose providers offering 8 GB RAM or more (Contabo, OVHcloud or Kamatera).</li><li><strong>NanoClaw</strong> and <strong>NanoBot</strong> consume less memory and can run on 1–2 GB RAM; these variants suit smaller instances like DigitalOcean’s $6/month droplet or Hetzner’s CX11. However, ensure your plan provides persistent storage and container support.</li><li><strong>PicoClaw</strong>, <strong>ZeroClaw</strong>, <strong>NullClaw</strong> and <strong>ZeptoClaw</strong> have tiny footprints and can run on ARM boards or free tiers like Oracle Cloud’s A1 Compute. They are ideal for IoT or embedded deployments.</li><li><strong>NemoClaw</strong> and heavy multi‑agent setups demand GPU acceleration and enterprise networking. NVIDIA’s DGX servers or AWS/Azure instances with GPUs are appropriate.</li></ul><p>In summary, moving your agent to the cloud offers better uptime, isolation and scalability than running it on your laptop. With choices ranging from free ARM machines to enterprise‑grade managed platforms, you can match the deployment environment to your technical comfort, security posture and budget. These cloud options complement the variant comparison above, ensuring you can deploy the right “claw” in the right place.</p><h3>Recommended publishing venues for your blog</h3><p>Given the technical nature of this analysis and the interest among AI developers, the following platforms are appropriate for publishing a 12–15‑minute read:</p><ul><li><strong>Medium’s AI/DevOps channels</strong> — Many articles in this ecosystem (e.g., <em>The State of the Claw World</em> and comparisons of OpenClaw vs NanoClaw vs NemoClaw) appear on Medium. Medium reaches a broad audience of developers, tech executives and enthusiasts and supports long‑form writing.</li><li><strong>DEV Community</strong> — The <em>Architecting the Agentic Future</em> article provides a balanced technical comparison and reaches a developer‑centric audience. DEV emphasizes open‑source and developer tooling, making it ideal for in‑depth technical guides.</li><li><strong>Personal blogs or Substack</strong> — For more control and the ability to embed code snippets, interactive demos and update posts, a self‑hosted blog (like the <em>Claw AI Agent Family</em> post) or a Substack newsletter gives you full editorial freedom. Cross‑posting to LinkedIn can also attract enterprise readers.</li></ul><h3>Conclusion</h3><p>The “claw” ecosystem exploded from a single open‑source side project into a sprawling family of agent frameworks within months. OpenClaw pioneered the idea of local, autonomous AI assistants but quickly ran into security concerns due to its monolithic architecture and lack of isolation. NanoClaw’s minimalist, container‑centric design dramatically improves safety while maintaining flexibility, though its persistent memory can introduce drift. NVIDIA’s NemoClaw aims to take these ideas to the enterprise with built‑in policy enforcement, privacy routers and GPU‑accelerated inference. Beyond these flagship projects, variants like PicoClaw, ZeroClaw, NullClaw, Ironclaw, NanoBot, TinyClaw and ZeptoClaw offer specialised solutions tailored to constrained hardware, deterministic pipelines or multi‑agent collaboration. Choosing the right “claw” depends not only on features but also on hardware constraints, risk tolerance, desired autonomy and community support.</p><p>With AI agents poised to become a foundational layer of personal and enterprise computing, understanding the trade‑offs of these frameworks is critical. By aligning your choice with your use case — whether you’re a hobbyist exploring automation, a startup building a new product or an enterprise deploying mission‑critical workflows — you can harness the power of autonomous agents while minimising risk and maximizing efficiency.</p><p><em>If you’re experimenting with any of these Claws, I’d love to hear what you’re using and why. The ecosystem is evolving fast — and the “best Claw” today might not be the best one in a few weeks.</em></p><p><strong><em>For more posts, check out my Substack and my Medium:</em></strong><em><br></em><a href="https://crhisto.substack.com/"><em>https://crhisto.substack.com/</em></a>, <a href="https://medium.com/@crhisto"><em>https://medium.com/@crhisto</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=dc8ea9148441" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>