<?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: Rohan Roots</title>
    <description>The latest articles on DEV Community by Rohan Roots (@rohan_roots).</description>
    <link>https://dev.to/rohan_roots</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%2F4123136%2F89018fe9-fab6-48bc-a338-acc329fb443b.jpg</url>
      <title>DEV Community: Rohan Roots</title>
      <link>https://dev.to/rohan_roots</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohan_roots"/>
    <language>en</language>
    <item>
      <title>I Asked an AI Agent to Buy Me a VPS</title>
      <dc:creator>Rohan Roots</dc:creator>
      <pubDate>Sun, 13 Sep 2026 12:33:56 +0000</pubDate>
      <link>https://dev.to/rohan_roots/i-asked-an-ai-agent-to-buy-me-a-vps-31ip</link>
      <guid>https://dev.to/rohan_roots/i-asked-an-ai-agent-to-buy-me-a-vps-31ip</guid>
      <description>&lt;p&gt;&lt;strong&gt;FIELD NOTES ON PRACTICAL AI AGENTS&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  I Asked an AI Agent to Buy Me a VPS
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;It compared providers, picked a $35.99-a-year server, filled out the checkout, then got stuck on two password fields.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wanted a small always-on server for an AI agent and infrastructure experiments. Instead of opening fifteen tabs and building another comparison spreadsheet, I gave Muse the job. What followed felt less like chatting with a bot and more like supervising a very fast junior operator.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;PURPOSE&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;Hermes Agent + server lab&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PROVIDER&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RackNerd&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PLAN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2 GB KVM VPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;REGION&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;New York, USA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OPERATING SYSTEM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ubuntu 24.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PRICE&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$35.99 per year&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  A one-line brief became a real purchase
&lt;/h2&gt;

&lt;p&gt;The request was deliberately simple: find a budget VPS in the United States with at least 2 GB of memory, able to run Nous Research's Hermes agent around the clock. Some latency was fine. Cost mattered more than prestige.&lt;/p&gt;

&lt;p&gt;That's the kind of job an agent should be good at. The goal is concrete, the constraints are visible, and a wrong pick is recoverable. This wasn't a production database or a six-figure cloud commitment. It was a small server that could become a durable sandbox for containers, networking, automation, system services, and whatever I wanted to break next.&lt;/p&gt;

&lt;p&gt;Muse didn't just return a list of providers. It asked the questions that changed the answer: where am I located, how much memory do I need, does latency matter, do I want monthly flexibility or the lowest annual price. Once those were settled, the comparison narrowed fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why RackNerd won
&lt;/h2&gt;

&lt;p&gt;It came down to RackNerd versus Hetzner. Hetzner is the stronger cloud platform: polished tooling, predictable infrastructure, hourly billing, a better path if the workload ever becomes important. But its best prices were in Europe, and I wanted a US location.&lt;/p&gt;

&lt;p&gt;RackNerd's annual special was the more pragmatic lab machine: 2 vCPUs, 2 GB of memory, 35 GB of storage, a dedicated IPv4 address, in New York, for $35.99 a year. That's roughly $3 a month. For an experiment box running a remote-model agent, it was enough machine at a price low enough to just leave running.&lt;/p&gt;

&lt;p&gt;The useful part of the recommendation was the trade-off, stated plainly. I was buying the cheapest suitable box, not the cheapest platform I'd trust with revenue. Different purchases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding a cheap VPS was the easy part. The useful part was carrying the decision from a vague intent all the way to a checkout-ready configuration.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Checkout worked, until two boxes looked identical
&lt;/h2&gt;

&lt;p&gt;After I confirmed the plan, Muse moved into execution. It set up the RackNerd account, selected New York, chose Ubuntu 24.04, carried the billing details into checkout, and paid through Stripe Link. I kept final approval over the charge, which is exactly where I wanted the human checkpoint.&lt;/p&gt;

&lt;p&gt;Then the whole thing stalled on the least glamorous problem imaginable: the Password and Confirm Password fields looked identical to the automation. Autofill couldn't tell them apart. I'd type the password, the page would clear it during validation, and we'd do the dance again. The agent had compared providers and reasoned through infrastructure trade-offs, and then two ordinary HTML inputs became the hard part.&lt;/p&gt;

&lt;p&gt;The workaround was the site's own password generator. That removed the ambiguous handoff, the form validated, and the order went through. The fix was mundane. The failure was the interesting part: agentic workflows rarely break on hard reasoning. They break at the seams between systems. Duplicated labels, session boundaries, CAPTCHAs, one-time codes, a field that doesn't expose enough structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payment succeeded, and I still checked it twice
&lt;/h2&gt;

&lt;p&gt;Minutes later the emails started arriving: welcome, order confirmation, invoice, payment receipt, server login details. So many messages after an automated checkout raised the obvious question: had I been charged twice?&lt;/p&gt;

&lt;p&gt;Muse found one completed $35.99 payment. The rest was the normal paper trail for a single order. That verification mattered as much as the purchase.&lt;/p&gt;

&lt;h2&gt;
  
  
  The right model is delegation with checkpoints
&lt;/h2&gt;

&lt;p&gt;This changed how I think about consumer AI agents. The value wasn't a fully autonomous system running without me. It was simpler: dozens of small tasks, compressed. Gathering constraints, comparing offers, checking locations, turning requirements into a specific config, filling routine fields, keeping the whole decision in one conversation.&lt;/p&gt;

&lt;p&gt;I stayed responsible for the parts that mattered. I approved the provider, the annual commitment, and the payment. Credentials moved through secure handoffs instead of chat. When the interface turned ambiguous, I stepped in. That division of labor felt less futuristic than the marketing, and much more useful.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Delegate bounded research.&lt;/strong&gt; Give the agent a goal, a budget, minimum specs, a location, and the trade-offs you'll accept.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep approval at the edge.&lt;/strong&gt; The agent can prepare a purchase. You confirm the final config, price, renewal terms, and the charge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expect interface friction.&lt;/strong&gt; A workflow can fail on a plain form after getting all the reasoning right. A clean manual handoff is a feature, not a defeat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify the outcome.&lt;/strong&gt; Check the receipt, the account, the service details, and the payment history before calling it done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start with recoverable tasks.&lt;/strong&gt; A cheap lab server is a better first autonomous purchase than a production system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The purchase is only the beginning
&lt;/h2&gt;

&lt;p&gt;Now the real work moves to the server: SSH in, create a non-root admin, switch to key-based auth, set up the firewall, turn on unattended security updates, and run Hermes under systemd so it survives reboots. After that I might host this blog on the same box, which would make the infrastructure behind this story the subject of the next one.&lt;/p&gt;

&lt;p&gt;There's a satisfying loop in that. An AI agent helped buy the server that will host another AI agent, and the bumps along the way made a better story than a frictionless demo would have. The password-field failure wasn't something to hide. It was the most honest part.&lt;/p&gt;

&lt;h2&gt;
  
  
  My takeaway: agents are already practical, just not invisible
&lt;/h2&gt;

&lt;p&gt;Muse didn't remove judgment, and it didn't turn a messy commercial website into a clean API. It removed most of the coordination cost between "I should get a server" and "the server is ordered." That's real progress.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
