<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniiar Sher</title>
    <description>The latest articles on DEV Community by Daniiar Sher (@dani_sher).</description>
    <link>https://dev.to/dani_sher</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4064054%2Fc4ae979b-2dc9-4789-a186-e615092af512.jpg</url>
      <title>DEV Community: Daniiar Sher</title>
      <link>https://dev.to/dani_sher</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dani_sher"/>
    <language>en</language>
    <item>
      <title>We Gave an AI Agent Production Credentials. Here’s What It Actually Did.</title>
      <dc:creator>Daniiar Sher</dc:creator>
      <pubDate>Wed, 19 Aug 2026 15:04:03 +0000</pubDate>
      <link>https://dev.to/dani_sher/we-gave-an-ai-agent-production-credentials-heres-what-it-actually-did-7ll</link>
      <guid>https://dev.to/dani_sher/we-gave-an-ai-agent-production-credentials-heres-what-it-actually-did-7ll</guid>
      <description>&lt;p&gt;We Gave an AI Agent Production Credentials. Here’s What It Actually Did.&lt;/p&gt;

&lt;p&gt;Giving an AI agent production credentials sounds like the first paragraph of a postmortem.&lt;br&gt;
We did it anyway.&lt;/p&gt;

&lt;p&gt;GetBlock runs blockchain infrastructure across more than 1,000 servers and handles around 40 billion requests every month. Ardor was connected to its live environment through a VPN and given access to systems the team actually uses.&lt;/p&gt;

&lt;p&gt;The obvious question is whether it broke anything.&lt;br&gt;
In this case, no.&lt;/p&gt;

&lt;p&gt;The more interesting part is that the first valuable thing it found had nothing to do with generating code.&lt;/p&gt;

&lt;p&gt;It found $360,000 hiding in the server fleet&lt;/p&gt;

&lt;p&gt;Someone from the GetBlock team asked Ardor a fairly routine infrastructure question.&lt;/p&gt;

&lt;p&gt;The request was not:&lt;/p&gt;

&lt;p&gt;Audit our entire server fleet and find hundreds of thousands of dollars in unnecessary spending.&lt;br&gt;
It was much looser than that.&lt;/p&gt;

&lt;p&gt;Ardor pulled telemetry from across the server network and compared actual RPC traffic with billing information. It found hardware that was still being paid for despite receiving little or no traffic.&lt;/p&gt;

&lt;p&gt;The result was a decommissioning list representing roughly $360,000 in yearly costs.&lt;br&gt;
Nobody had asked it to perform a cost audit. It just had enough access and context to notice that something did not add up.&lt;/p&gt;

&lt;p&gt;That was the moment this became more interesting than another “AI writes code faster” story.&lt;br&gt;
Also, Ardor did not immediately begin deleting servers. That would have been insane. Destructive actions still required someone from the team to approve them.&lt;/p&gt;

&lt;p&gt;This wasn’t one lucky query&lt;/p&gt;

&lt;p&gt;The server discovery is the headline number, but most of the work was less dramatic.&lt;br&gt;
When several days of Mixpanel data went missing, Ardor backfilled the gap and deployed an hourly ETL job to stop it from happening again.&lt;/p&gt;

&lt;p&gt;It connected Jira and Zendesk data so the team could classify support tickets and understand which products, protocols and locations were generating problems.&lt;/p&gt;

&lt;p&gt;It built and deployed a complete internal application called SitemapHQ.&lt;/p&gt;

&lt;p&gt;Someone from the content team, with no engineering background, also asked for a tool that could plan content across 11 channels while following GetBlock’s brand guidelines. Ardor built the frontend, backend, database and Kubernetes deployment.&lt;/p&gt;

&lt;p&gt;None of these tasks make for a sexy “I built an app in 30 seconds” demo.&lt;br&gt;
They are useful because they remove work that otherwise sits in a backlog waiting for somebody with the right access, context and technical knowledge.&lt;/p&gt;

&lt;p&gt;The difficult part wasn’t the model&lt;/p&gt;

&lt;p&gt;Giving an agent root access and hoping for the best would be stupid.&lt;/p&gt;

&lt;p&gt;The useful part of this setup was fairly boring:&lt;/p&gt;

&lt;p&gt;Ardor needed to know what it could read, what it could change, which actions had to stop for approval and how every execution would be logged.&lt;/p&gt;

&lt;p&gt;That matters more than writing a clever system prompt.&lt;/p&gt;

&lt;p&gt;An agent that can investigate a production problem is useful.&lt;/p&gt;

&lt;p&gt;An agent that can investigate, explain what it found and propose a fix is more useful.&lt;br&gt;
An agent that can silently delete infrastructure because it believes the machines are unnecessary is a future incident report.&lt;/p&gt;

&lt;p&gt;The line between those three behaviours is mostly permissions, context and approval design.&lt;br&gt;
This changed how I think about agentic software&lt;/p&gt;

&lt;p&gt;I used to think the main value of agentic software was building applications faster.&lt;br&gt;
That is still useful, but it is becoming the least interesting part.&lt;/p&gt;

&lt;p&gt;The bigger opportunity is giving an agent enough visibility to notice the things your team does not have time to investigate.&lt;/p&gt;

&lt;p&gt;That does not mean removing people from the process. It means deciding where the agent can work independently and exactly where a person needs to step in.&lt;/p&gt;

&lt;p&gt;I’m curious where other developers would draw that line.&lt;br&gt;
Would you let an agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read production logs?&lt;/li&gt;
&lt;li&gt;Restart a container?&lt;/li&gt;
&lt;li&gt;Deploy a tested change?&lt;/li&gt;
&lt;li&gt;Modify infrastructure?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Delete a server it believes is unnecessary?
&lt;/h2&gt;

&lt;p&gt;At which point would you require a human to approve the action?&lt;/p&gt;

&lt;p&gt;I work at Ardor, so I’m obviously not a neutral observer here. The complete GetBlock case is available here if you want the uncompressed version:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dub.sh/01JO7nJ" rel="noopener noreferrer"&gt;https://dub.sh/01JO7nJ&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building backend services in any language that fits in a container</title>
      <dc:creator>Daniiar Sher</dc:creator>
      <pubDate>Wed, 05 Aug 2026 12:08:50 +0000</pubDate>
      <link>https://dev.to/dani_sher/building-backend-services-in-any-language-that-fits-in-a-container-2b54</link>
      <guid>https://dev.to/dani_sher/building-backend-services-in-any-language-that-fits-in-a-container-2b54</guid>
      <description>&lt;p&gt;Most "agentic" platforms make a quiet assumption: build in our framework, our language, our way, or you're on your own.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F43bcputkuqwtb0dv2kn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F43bcputkuqwtb0dv2kn1.png" alt=" " width="799" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ardor's agentic backend takes a different position. The rule, straight from the docs:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build backend services in any language that fits in a container.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the whole constraint. Python, Go, Rust, whatever your stack already runs on — if it fits in a container, Cerebrum (Ardor's copilot) can build it, deploy it, and keep it in the same working context as your other services, domains, and deployments.&lt;/p&gt;

&lt;p&gt;"Why this matters more than it sounds like it should"&lt;/p&gt;

&lt;p&gt;Most AI dev platforms implicitly optimize for one language ecosystem (usually JS/TS) because that's what's easiest to demo. That's fine until your actual stack doesn't match the demo. "Any language that fits in a container" means the platform adapts to your stack instead of the other way around — no rewrite, no adapter layer, no "well actually it only really works well in X."&lt;/p&gt;

&lt;p&gt;"What this looks like in practice"&lt;/p&gt;

&lt;p&gt;Say you've got a Go service doing something latency-sensitive sitting next to a Python service doing data processing. Instead of picking one language to "agentify" and leaving the other alone, both can live in the same Ardor workspace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;services/
  api-gateway/       # Go
  data-pipeline/     # Python
  Dockerfile         # per-service, whatever base image fits
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cerebrum builds and deploys each on its own terms, in its own container, without asking you to normalize your stack first.&lt;/p&gt;

&lt;p&gt;"Honesty check"&lt;/p&gt;

&lt;p&gt;This capability is currently listed as (Experimental) in Ardor's own docs — not because it doesn't work, but because it's early and the team would rather ship it and iterate in the open than oversell it as finished. If you try it and hit a rough edge, that tracks with where it actually is right now.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>webdev</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
