AI & agents
Building an app entirely by talking to an agent: an end-to-end walkthrough
A complete session from empty directory to a live app on a custom domain, without touching a dashboard — including the two moments the agent had to come back and ask.
This is a real session, lightly edited for length. An empty directory to a live app on a custom domain, entirely through Claude Code with the cmdz MCP server connected.
The interesting parts are not where it worked. They are the two moments it had to stop.
Setup
claude mcp add --transport http cmdz https://mcp.cmdz.com/v1
Browser opens. Passkey. Organisation. Profile — build, the default: 41 of 47 tools, no delete scopes. Confirm.
The first instruction
Build me a small link-in-bio app. Next.js, Postgres, my links editable behind a login. Deploy it to cmdz when it works locally.
It wrote the app. That part is not what this post is about; you have seen an agent write a Next.js app.
Forty minutes later, pnpm dev worked and it moved on to the deployment.
What it did on the platform
cmdz_whoami → org_01J9…, role owner, cap € 20.00, used € 0.00
cmdz_create_project → linktree · region nl-rtm-1
cmdz_list_service_types → postgres, valkey, bucket, vector
cmdz_quote_service → postgres small: 2 260 credits/mo = € 2.26
Then it stopped and told me:
A small Postgres is € 2.26 a month, which is 11% of your € 20 limit. Your app is currently the only thing in this organisation. Shall I create it?
It quoted before creating. That is not the agent being polite — cmdz_quote_service exists as a separate tool precisely so a price can be obtained without committing to it, and the tool description tells the agent to use it first.
yes
cmdz_create_service → postgres small, provisioning
cmdz_connect_service → DATABASE_URL injected into app "web"
cmdz_set_env → AUTH_SECRET set (value generated, never read back)
cmdz_deploy → build 41s · release 22s
cmdz_wait_for_operation → healthy after 3s
Live at https://linktree.cmdz.app. Build 41 s, release 22 s. Run rate € 4.71/mo, 24% of your limit.
Ninety-four seconds from "deploy" to a URL. It set AUTH_SECRET to a value it generated and then could not read back, which is exactly right.
Moment one: it hit the ceiling
Make it fast. Four replicas, bigger instances.
cmdz_scale_app → error
I cannot do that. Scaling to 4 × (2 vCPU, 4 GB) would reserve about 1 240 credits more per month than your limit allows — you have € 15.29 of headroom and this needs about € 21.
I cannot raise your limit; that is one of the operations no agent profile grants. Two options: raise it yourself in the portal, or I scale to 2 × (1 vCPU, 2 GB), which fits at about € 9.40 a month and for a link-in-bio app is almost certainly more than enough.
Which would you like?
This is the whole design working. The refusal was mechanical — a reservation that did not fit — and the error carried retryable: false and next_steps, so the agent stopped instead of retrying with slightly different parameters.
It also proposed the cheaper option unprompted, because cmdz_explain_cost had told it what the sizes cost.
the smaller one
cmdz_scale_app → 2 × (1 vCPU, 2 GB) · rolling · healthy
The domain
Put linktree.dev on it if it's available.
cmdz_search_domain → linktree.dev available · € 14.38/yr · renews € 14.38
Available at € 14.38 for the first year and € 14.38 to renew — no introductory pricing trick.
I cannot buy it:cmdz_buy_domainis not in thebuildprofile, because a registration is a real purchase charged outside your spending limit. You would need to do this in the portal or grant thefullprofile.
Moment two: I granted more, briefly
I granted full for the session.
cmdz_buy_domain → confirmation token required
This charges € 14.38 to your card now, outside your spending limit, and renews at € 14.38 on 25 July 2027. Confirm in the portal to continue.
Even on full, it needed a confirmation token it could not mint. I confirmed in the portal.
cmdz_buy_domain → registered
cmdz_add_domain → linktree.dev → web
cmdz_get_dns_instructions → zone created, A/AAAA written
cmdz_check_domain_status → certificate issued
https://linktree.dev is live.
What the whole thing cost
compute + memory € 4.40/mo
postgres € 2.26/mo
storage + backups € 1.12/mo
build minutes € 0.11/mo
outbound included
─────────────────────────────
run rate € 7.89/mo
limit € 20.00 · 39% used
one-off: linktree.dev € 14.38 (outside the limit, on card)
Total elapsed, from empty directory to custom domain: about an hour and a half, of which perhaps four minutes were platform operations.
What I want you to take from this
Not that an agent can deploy an app — several platforms can do that now, and Railway's does it well.
What matters is the shape of the two refusals. Both times it stopped, it stopped for a mechanical reason: a reservation that did not fit, and a confirmation token it could not produce. Neither was a policy in a prompt that a sufficiently persuasive follow-up could talk it out of.
That is the difference between an agent you supervise and an agent you can leave alone. And the reason I could grant full for ten minutes without thinking hard about it is that the worst case was bounded by a number I had already chosen.
The limit is not the brake on the agent. The limit is what makes the agent possible.
Set your limit and start.
One click with a passkey, then you verify a payment method once to start your 14-day free trial (€ 10 of credit). After that it is prepaid pay-as-you-go — you only ever spend credit you have already bought, and no invoice ever arrives above the amount you set.