Deploy a Streamlit app with your AI agent
Put your Streamlit app online at its own link that does not go to sleep. Paste one paragraph into your AI agent; it builds, checks and hands you the link.
This page puts a Streamlit app online at its own secure link. You paste one paragraph into your AI coding agent (Claude Code, Codex or Cursor). It packages the app, builds it on aidrop.it, checks that it runs and gives you the link. The build takes minutes. Unlike Streamlit Community Cloud, the app does not fall asleep when nobody visits, and your code does not have to be public.
What you will have at the end
- Your Streamlit app at its own link, open to anyone you send it to.
- An app that stays awake, with no “wake this app up” button for visitors.
- Your API keys stored as secrets, never written into the code.
- Your own domain, if you want one: your agent tells you the one record to add.
Words you will meet
- Streamlit is a free, open-source Python tool that turns a script into a web app with charts, tables and buttons.
- Secret is a private value, like an OpenAI or database key. On aidrop.it secrets live on your project’s Project Secrets page, not in the code.
- Memory is how much the app can hold in its head at once. Big spreadsheets loaded into pandas eat a lot of it.
- Size is how much memory and computing power your app gets. You can move to a bigger size if the app needs it.
- Live connection is how a Streamlit page talks to its server while you click. If it breaks, the page keeps saying it is connecting.
- Database is a place to keep records that must survive a restart.
What you need
- Your app’s code: a folder on your computer or a GitHub repository.
- An aidrop.it plan that runs apps (the free plan runs nothing). Plans are on aidrop.it.
- Enough memory. The smallest size has about half a gigabyte. A simple dashboard fits. An app that loads large files into pandas may need 1 or 2 GB, which the Pro plan and higher include.
- Your agent connected to aidrop.it. See the quickstart.
- The API keys your app uses, ready to paste into the Project Secrets page.
Say this to your agent
Put my Streamlit app online on aidrop.it. The code is in<folder or GitHub repository>, and the main file is <app.py>.Create a new aidrop.it Project called "<app name>" for it.
Read aidrop.it's runtime rules before you write anything andfollow them. Run Streamlit headless, listening on 0.0.0.0 and theport aidrop.it gives it, with the file watcher and usage statsoff. The disk is read-only: point HOME at /tmp and pass Streamlitsettings as flags or STREAMLIT_* variables, not a file in the homefolder. Use /_stcore/health as the health check.
Read API keys from environment variables, not st.secrets: therewill be no secrets.toml file. Store them as Project secrets andtell me the names so I can fill in the values.
Pin the dependencies. Estimate how much memory the app needs withits real data and pick a size that fits. Anything the app writesto disk is lost on restart; if it must keep data, ask me beforeadding a PostgreSQL database.
When it runs, open it, click a widget and confirm the page updates.Then tell me the link.What your agent does
- Reads your app and lists the libraries and keys it needs.
- Writes a short build recipe that fits aidrop.it’s rules and saves it with your code.
- Asks you to add your keys on the Project Secrets page. Nothing can read them back from there.
- Builds the app on aidrop.it and waits until it answers.
- If it fails, reads the error, fixes it and builds again.
- Opens the app, checks that it responds and gives you the link.
Check that it works
- Open the link. The app appears and stops showing its “running” indicator.
- Change a slider or a filter. The chart or table updates. This shows the live connection works.
- Load your biggest real file or query. The app should not restart or freeze.
- Come back the next day. The app opens right away, without a wake-up step.
When something goes wrong
| What you see | What to tell your agent |
|---|---|
| The page keeps saying it is connecting | “The page never finishes connecting. Check the live connection through the aidrop.it address and read the logs.” |
| The app restarts or crashes when loading data | “The app runs out of memory. Make it use less, or move it to a bigger size.” |
| An error about missing secrets | “Read the keys from the project’s secrets, not from a secrets file.” |
| Files the app saved are gone after a restart | “Saved files vanish on restart. Keep that data in a database.” |
| The build fails on a library | “Read the build log and fix the dependency list.” |
FAQ
Is Streamlit free?
Yes. Streamlit is open source under the Apache 2.0 license, so the library costs nothing. Streamlit Community Cloud, the official hosting, is also free, with limits. Apps with no traffic for 12 hours go to sleep. You may have one private app at a time. Memory is capped at about 2.7 GB (documented as of February 2024).
How do I deploy a Streamlit app?
You need a host that runs Python and keeps a live connection to the browser open. Install your libraries, start the app with Streamlit’s run command, and make it listen on the address and port the host gives it. Keep keys out of the code. Check that clicking a widget updates the page.
Why does my Streamlit app go to sleep?
Streamlit Community Cloud puts apps to sleep after 12 hours without visitors. The next visitor sees a button to wake the app and has to wait while it starts. A host that keeps the app running all the time avoids that wait, which matters for a tool people open once a day.
Can I keep my Streamlit app private?
On Community Cloud, an app from a private repository is private, but only one at a time. On aidrop.it your code stays private, while the app’s link opens for anyone who has it. If the app itself must be private, ask your agent to add a password or sign-in page to it.