You Built an App With AI and Don't Code — How to Put It Online
Zip the folder, drop it in, answer a question about your API key. Here's what actually happens, what it can't do, and the three things that surprise people.
Deploy Apps From Your AI Coding Agent via MCP (Cursor, VS Code, Claude Code)
Connect Cursor, VS Code, or Claude Code to JustRunMy.App's MCP server and deploy, configure, and operate apps directly from your AI agent.
Hosting an AI Agent 24/7 — Calling a Model Is Cheap, Running One Isn't
An LLM agent is nearly the perfect small-container workload: idle, waiting on an API. The things that actually bite are slow calls, restarts, and state.
Your AI Wrote a Dockerfile — Check These Nine Things Before You Push
LLM-written Dockerfiles are usually valid and frequently wrong in the same ways. Three break the build, three deploy fine and then don't work.
LLM API Timeouts and Retries — What Actually Breaks on One Container
The SDK default is a 10-minute timeout retried twice. One stuck request can hold a worker for half an hour, and nothing on the platform notices.
What Hosting an AI App Costs — Spoiler, It's Not the Hosting
Estimate an AI app's hosting costs from CPU, RAM, and disk allocation. A medium API costs $4.15 a month; model API spending is separate.
Your Agent Loop Needs a Stop Condition
An agent decides for itself when it's finished, and sometimes it never does. Four limits stop a tool loop costing you money and getting OOM-killed.
Your AI-Built App Assumes One User — What Breaks With Two
Generated code keeps per-user state in module-level globals. One container means every visitor shares them, so the usual symptom is seeing someone else's data.
Your AI-Built App Assumes a Database That Isn't There
Models make one of three database assumptions, and all three break on a container platform. Fixing them takes minutes if you know which one you've got.
Six Security Holes AI-Generated Apps Ship With — A Pre-Deploy Review
Models write for the happy path on a machine only you can reach. Once deployed, that code is your entire defence. Six things to check, each a two-minute grep.
Conversation Memory for an LLM Bot — Whose Context Is It?
Per-user or per-channel isn't a storage detail. It decides who sees whose messages, what each reply costs, and how fast your disk fills up.
Two Bots in One Channel — Stopping the Loop Before It Costs You
Telegram forbids bots seeing each other precisely to avoid this. Discord doesn't, so the check is yours — and with a model behind it, each lap is billable.
Changing a Prompt in Production Without Breaking It
A prompt is the least protected code in your app — no type check, no test, and failures look like slightly worse answers. Version it and gate it on evals.
Deploying the Next.js App Your AI Built — Three Things That Will Bite
v0, Lovable and Bolt all output Next.js. The build is what fails first, and NEXT_PUBLIC_ variables set on the app never reach the browser. Here's why.
Deploying an AI-Generated Monorepo With a Frontend and a Backend
AI tools output frontend/ and backend/ folders, but the build only reads a Dockerfile at the root. Three ways to resolve that, and when one app beats two.
Deploying a Vite + React SPA — The Fallback Rule and the Env Var Trap
A Vite build is static files, so two things break: refreshing a route 404s, and VITE_ variables are frozen at build time. Both have clean fixes.
Tell Your AI How It'll Be Deployed — One Prompt Block, Nine Fewer Bugs
Models write for localhost because that's the only target they're given. Paste these constraints into your prompt and most deploy-day failures never happen.
Designing MCP Tools a Model Can Actually Use
Tool descriptions are documentation and prompt at once. The biggest lever is what a failure says — an error that explains itself turns a dead end into a retry.
After the Deferral — Discord's 15-Minute Interaction Window
Deferring buys you time, not unlimited time. Tokens last 15 minutes, there are two kinds of deferral, and a redeploy mid-task leaves a spinner forever.
How Do You Know Your Prompt Change Made Things Better?
You can't tell from one example. A file of test cases and a script catches regressions — and it belongs in CI, not on the container you're paying for.
File Uploads in a Container — `./uploads` Is Not a Place
Generated code saves uploads next to the app, where they vanish on deploy. Two real options, and the disk limit that stops every app when uploads grow.
Hosting Your Own Remote MCP Server — What Actually Changes
Only Streamable HTTP servers can be hosted; stdio ones run locally by definition. The gotchas are binding, Origin validation, and sessions dying on redeploy.
Your LLM Bot's Reply Is Too Long for Discord
Model output doesn't respect a 2,000-character cap. Splitting naively breaks code blocks, and editing on every token is how you collect rate limits.
Your Users Get Logged Out Every Time You Deploy
Two causes, both common in generated auth code — sessions kept in memory, or a signing secret regenerated at startup. Neither looks like a bug locally.
Write Logs Your AI Agent Can Actually Debug
An agent reading your logs has no memory of your architecture and a limited window. Small changes make the difference between a diagnosis and a guess.
Maintaining an App an AI Wrote for You
The risk isn't bad code — it's that nobody holds a model of it. Four cheap habits, and one that matters because every deploy rebuilds your image.
One Smoke Test Beats a Test Suite You'll Never Write
AI tools write features, not tests. You don't need coverage — you need one check that boots the app the way the container will and proves it answers.
Anyone in the Channel Can Prompt Your Bot
If a stranger's message reaches your model, they can instruct it. The fix isn't a better system prompt — it's limiting what the model is allowed to do.
Push to `build` to Test a Build Without Touching Your Running App
Two branches are tracked, not one. `deploy` builds and replaces your container; `build` only builds — which is what you want while you're still iterating.
Can You Do RAG on a Small Container? Yes, Within Limits
Calling an embedding API is cheap and fits fine. Running an embedding model doesn't — and rebuilding your index at startup means paying for it every deploy.
Rate-Limiting an LLM Endpoint — Requests Aren't the Unit, Tokens Are
An endpoint that calls a model turns traffic into spend, and no hosting setting can cap it. Three layers of defence — and the one that resets on deploy.
Getting Reliable JSON Out of a Model
Two failure modes, and only one is malformed syntax. Validate in code, feed the error back once, and cap the retries — because each one is billed.
Sending Images to a Model From a Small Container
The API accepts a 512 MB payload. Your container has 0.25 GB. Base64 adds a third on top, and you hold the original and the copy at the same time.
Should Your LLM Bot Read Every Message? Probably Not
Both platforms restrict message visibility by default. For a model-backed bot that default is a feature — it caps your cost, your risk, and your storage.
Storing User API Keys When Your AI App Lets People Bring Their Own
Environment variables hold your app's secrets, not your users'. Per-user keys need encrypted storage — and the first question is whether to store them at all.
Streaming LLM Responses to a Browser With SSE
Tokens appearing one by one is mostly four details — flush every chunk, send heartbeats, cancel on disconnect, and expect a deploy to cut the stream.
Switching Models Without a Rewrite
One seam makes it a config change and a restart. Without it, model choice is scattered through your code — and the cheaper model isn't always cheaper.
Your Agent Says It Deployed — Four Checks Before You Believe It
"Deployed successfully" means the API calls returned, not that your app works. The status is container-level, so it can be green while nothing works.
Deploying an App You Built With an AI Coding Tool — A Checklist
AI-generated projects run fine locally and break in six predictable ways when deployed. Here's what to fix before you upload, and what you can leave alone.
Deploy Without a Dockerfile: AI Build Agent vs. Buildpacks
You can deploy without a Dockerfile using buildpacks or an AI build agent. Here's how the two differ, where zero-config detection fails, and which to pick.
What You're Actually Granting When You Connect an AI Agent to Your Hosting
22 MCP tools, 8 of them read-only. But read-only isn't the same as harmless — two of those hand your agent credentials. Here's the honest breakdown.