Deploying Your App
Ileen’s Deploy Mode lets you ship your project to any cloud provider through a friendly assistant. You chat with it, answer a few questions, provide your cloud credentials securely, and it handles the rest — building, provisioning, and verifying everything.
Applies to: Deploy Mode
Before you start
Have these ready:
- An Ileen project with at least one repository linked (from Design or Develop Mode)
- Cloud provider credentials for the services you want to deploy to (see Which credentials do I need?)
- A few minutes of your time — the assistant does the heavy lifting
The deploy process at a glance
When you click Start Deploy, the assistant walks you through four phases:
| Phase | What happens | What you do |
|---|---|---|
| 1. Discovery | The assistant scans your code and figures out your tech stack | Nothing — it’s automatic |
| 2. Infrastructure plan | It plans what services you need (database, storage, cache) | Pick where each component should live |
| 3. Credentials | It asks for your cloud provider keys | Add them in the Secrets Panel on the right |
| 4. Deploy & verify | It builds, deploys, and checks everything | Follow Agent activity, then review the deployment result |
Step 1 — Open Deploy Mode
- Open the Ileen app.
- Use the mode selector in the sidebar footer and click Deploy.
- Select your project from the left sidebar.
The welcome screen shows a summary of what to expect — four numbered cards explaining each phase. Click Start Deploy in the chat to begin.
Step 2 — Discovery
The assistant analyzes every repository in your project. It reads your code, checks for Dockerfiles, package.json, pyproject.toml, and other configuration files to determine:
- What kind of app each repo is (frontend, backend, worker)
- What runtime and framework it uses
- What external services it needs (database, Redis, storage, email)
- What environment variables it expects
After analysis, the assistant presents a clear summary and asks where you want to deploy.
Step 3 — Choose your providers
The assistant asks you to pick cloud providers for your services. You’ll see clickable buttons with the options — just click one instead of typing.
For example:
“I found a FastAPI backend that needs PostgreSQL and a React frontend. Where would you like to deploy?”
Available options appear as buttons: AWS (ECS), GCP (Cloud Run), Vercel, Fly.io, and so on. Only providers that are actually available appear — the assistant checks which tools are installed and only offers what works.
If the assistant asks a yes/no question (like “Ready to proceed?”), you’ll see:
- ✅ Yes, proceed — confirm and continue
- ❌ No, change — go back and adjust
Of course, you can always type your own answer if you prefer.
Step 4 — Review the infrastructure plan
The assistant creates a complete plan showing exactly what will be deployed and where. Review it carefully — this is your last chance to make changes before deployment starts.
The left sidebar shows the saved plan and provider configuration:
- Selected providers — which clouds are configured and which still need credentials
- Infrastructure plan — every component (database, cache, CDN) with its status
If something doesn’t look right, tell the assistant — it will revise the plan.
Step 5 — Provide credentials (Secrets Panel)
When the assistant needs your cloud provider keys, never paste them in the chat. Use the Secrets Panel instead.
How to add credentials
- The assistant tells you which provider needs credentials and what permissions are required
- A 🛡️ Go to Secrets Panel → button appears in the chat — click it to highlight the panel
- In the right sidebar, click the 🔑 Needs Credentials entry for your provider
- A secure form opens showing the exact format expected (e.g. JSON or API token)
- Paste your credential and click Store Securely
The panel checks your input immediately — if you paste invalid JSON or a key that’s too short, you’ll see an error right away, before anything is sent.
Store Securely only saves the credential. It does not restart the agent. Add the credentials you want to provide, then click Resume in the Secrets Panel to continue the deployment.
Which credentials do I need?
Each provider needs specific credentials:
| Provider | What you need | Format |
|---|---|---|
| AWS | Access Key ID + Secret Access Key | JSON: {"access_key_id": "...", "secret_access_key": "..."} |
| GCP | Service Account key | JSON key file from GCP Console |
| Azure | Service Principal | JSON: {"appId": "...", "password": "...", "tenant": "..."} |
| Vercel | API Token | Plain text token |
| Netlify | Personal Access Token | Plain text token |
| Fly.io | API Token | Plain text token |
| Railway | API Token | Plain text token |
| MongoDB Atlas | API Key | Plain text key |
| Supabase | Access Token | Plain text token |
| Upstash | API Key | Plain text key |
| DigitalOcean | API Token | Plain text token |
Step 6 — Monitor the deployment
Live agent activity
Watch the Agent activity panel while the assistant works. It refreshes approximately every three seconds and shows the latest reported action without waiting for the turn’s final reply.
| Activity | What it tells you |
|---|---|
| Inspecting repositories | The agent is examining project files |
| Checking customer access | An authentication or access-check command was observed |
| Observing build command | A build command was observed, not yet confirmed successful |
| Executing deployment commands | Deployment commands were issued |
| Waiting for command | The agent is interacting with a command that may take time |
| Preparing response / Finalizing agent run | The agent is preparing its response or ending the turn |
Expand Recent activity for the last 20 observations, each with a time relative to the run’s start. For example, +2m 5s means the observation occurred two minutes and five seconds into the run — it is not a countdown. Activity history remains available after refreshing the page.
The panel works for your selected providers, whether you deploy to one provider or several. Available credentials do not select a provider for you.
Activity is not the deployment outcome
- Agent run queued — the run is pending.
- Last reported: running — the backend last reported a running job; this is not a guarantee that it is currently making progress.
- Agent run finished — the turn ended. Check the deployment status and reply: it may still need input or have a partial result.
- Agent run failed — the job reported failure; review the deployment status before retrying.
- Awaiting activity… — no observations have been received for the new request yet. Previous-run history is shown separately when available.
If no fresh observation arrives for more than two minutes, the panel warns No new activity reported. This does not by itself confirm a failure or continued execution. A long build or provisioning command may be quiet; check the job indicator and deployment status before starting another run.
Deployment phases and infrastructure status
The phase indicator reflects the backend’s recorded state:
discovery → provider_selection → infrastructure_planning → credential_gathering → deploying → verifying → completedInfrastructure component statuses in the sidebar come from the assistant’s saved result between turns. A component can remain planned while deployment commands are running. Agent activity provides the live feedback; the final reply and deployment status report what succeeded, failed, or still needs your input.
Deploy Mode runs as a background job — you can close the tab and your deployment continues. When you return, the panel loads the latest recorded activity. The final deployment result may appear separately once it has been synced to the conversation; live activity does not wait for that sync.
Step 7 — Access your deployed app
When deployment finishes, you’ll see a green banner in the chat with your live URLs. The assistant shows:
- The main URL for your app
- Per-service URLs (frontend, backend, etc.)
- A summary of what was created
Click any URL to open it directly. Your app is live.
Handling errors
If something fails during deployment, don’t worry — the assistant handles it gracefully:
Partial deployments
If some services deploy but others fail, you’ll see a Partial ⚠️ status. The services that succeeded are live and accessible. The failed services are clearly marked in the infrastructure plan.
Fix & Redeploy
If something isn’t working right after deployment, or if you get a partial result:
- Describe the problem in the chat (e.g. “The login page shows a 500 error”)
- Click the 🔧 Fix & Redeploy button
- The assistant finds the bug, fixes it in your code, and redeploys the affected services automatically
This works whether your deployment completed fully or partially.
If everything fails
If the entire deployment fails, click Retry Deploy in the chat. The assistant picks up where it left off — it doesn’t start from scratch.
Tips for a smooth deployment
- Have your credentials ready before you click Start Deploy — you’ll need them during the credentials phase
- Use the quick reply buttons — clicking is faster than typing and avoids misunderstandings
- Answer one question at a time — the assistant works step by step
- Use the Secrets Panel — it’s the only secure way to provide credentials. Never paste them in the chat
- You can close the tab — the deployment continues in the background
- If stuck, ask for help — describe what you need and the assistant will guide you
Supported cloud providers
| Provider | Best for |
|---|---|
| GCP (Cloud Run) | Containerized backends, full-stack apps with Docker |
| AWS (ECS) | Enterprise backends, complex infrastructure |
| Azure (Container Apps) | Microsoft ecosystem, enterprise deployments |
| Vercel | Frontend apps, Next.js, static sites |
| Netlify | Static sites, Jamstack apps |
| Fly.io | Containerized apps with edge deployment |
| Railway | Quick prototyping, full-stack apps |
The assistant automatically detects which providers are available and only offers working options.
Next steps
- Tutorial 04: Deploy Mode — interactive walkthrough with a live demo
- Writing a good brief — set up your project for a successful deploy
- Git credentials — needed for the Fix & Redeploy feature
- Monitoring jobs — understand background job status