No coding agent? Upload a ZIP or paste code from a chat AI and go live

Got a ZIP from ChatGPT or code in a chat but no coding agent? BrewInTH's Upload & go live page reads it, prepares the database and builds it. Resend any time.
Plenty of people build a site with ChatGPT, Claude or Gemini right in the chat and end up with every file they need. Others get a ZIP from a freelancer, or export one from their old host. Then they stall at the last step: there's no coding agent like Claude Code or Codex to put it online, and learning servers isn't the plan.
BrewInTH has a page for exactly this: Upload & go live. Hand over a ZIP, or paste a chat AI's answer, and the platform reads the files, works out what kind of site it is, prepares the database and builds it until it's live. This guide walks through it step by step: creating the project, the two ways to send files, what the platform does on its own, how to send an edited version without losing data, and what to do when a release fails.
In short
📦 The Upload & go live menu takes a ZIP (up to 256 MB) or code pasted from a chat AI
🗂️ You need a project first; create one from the same page with just a name and an address
🧙 The platform detects the technology, prepares the database, imports.sqlfiles and turns.envvalues into secrets
🔁 Edit and send again to the same project: the address and the data stay, no duplicate site
🧪 The feature is still BETA; stuck anywhere, press Talk to the team
What the Upload & go live page is, and who it's for
The main way to use BrewInTH is to hand a link + token to a coding agent and let it release the code. That's the most flexible route, because the AI can read logs and fix problems on the spot, but it needs a tool like Claude Code, Codex or Cursor on your computer.
Upload & go live needs nothing but a browser. It suits:
- People who built a site with a chat AI and have the code as text or a ZIP
- People who got site files from a freelancer or a friend and want them online now
- People moving from an old host with a ZIP and a
.sqldatabase file in hand - People who want to tweak a site and send the new set up, the simple way
The page doesn't hand decisions to an AI. It reads your files by clear rules and lists everything it did on the result page.
Four steps from files on your computer to a live site

1. Open Upload & go live and create a project
Sign in to the console and open Upload & go live in the menu. (With no projects yet, the Overview page shows a button, No AI coding agent? Upload a ZIP or paste from a chat AI and go live, that leads to the same place.)
The platform never creates a project behind your back. For a new site, press Create a new project (name and address), give the project a name and pick the site name you want. That's all; you don't choose a technology or database, because the first set of files decides. Once created, the project is selected for you.
2. Step 1: Choose the project
With several projects, pick one under 1. Choose the project; the search box finds a project by name or address. Nothing is chosen for you, so files never land on the wrong site by accident, and step 2 stays locked until you choose.
If the ZIP's file name matches a different project, a bar says This file carries the name of another project with a Release into that project instead button, as a second check.
3. Step 2: Hand over the site's files, two ways
ZIP file: drop the file in or click to choose, up to 256 MB. Zipping the whole folder is fine; .git, node_modules or a .env inside are handled. A PHP site inside a cPanel full backup (.tar.gz) can go in as it is, up to 1 GB, and the platform picks out public_html and the databases.
Paste from a chat AI: the page shows a ready-made message with a copy button. Paste it into the chat where you built the site. It asks the AI to send every file in one message, in this shape:
=== FILE: index.html ===
<!doctype html>
...
=== END ===
=== FILE: css/style.css ===
...
=== END ===
Then copy the whole answer and paste it into the box on the page. The platform splits it into files with the right names and folders.
4. Go live and watch the progress
The button reads Release into <project> the first time and Update <project> after that. Press it and the page shows progress bars for the project, the database, the SQL import and the release, with the time elapsed. You can close the tab; the work carries on on the server and the project page shows where it stands. A plain HTML site usually takes under a minute; one that needs a build can take several.
When it says Live, press Open the site.
What the platform does for you

Under the progress bars, What the platform did lists every decision. It's worth one read; you'll understand your own site better. Some of what it does:
- Detects the technology from the files: plain HTML, PHP, Laravel, Node.js, Python, Go, Java, .NET or Ruby. It also finds the real project folder even when the ZIP nests it several levels deep.
- Prepares the database the code uses: MySQL, PostgreSQL, MongoDB or SQLite. Any
.sqlfile you include is imported before the site starts, and if the code uses Redis, that's created too. - Connects old code to the database: PHP files with the database login written in (like
define('DB_HOST', 'localhost')) are adjusted to read the platform's values, without touching the rest of the code. - Moves
.envvalues into the project's secrets, and generates app secrets the code needs but nobody set, such asJWT_SECRETorAPP_KEY, once. - Keeps files the app writes on persistent storage: when an app stores data as files, like SQLite or a folder of user uploads, the platform sets up persistent storage so those files survive updates.
- Tells you what's missing, such as an API key name the code reads that has no value yet, and points you to the project's secrets.
Using your own domain? The result page has an Open the Domains tab button to connect it next.
Edit and send again: same place, same data

This is what worries people most: will an edited version create a second site, and will the sign-ups I already have disappear? No. Send it to the same project and:
- The address stays. Links you shared and QR codes you printed keep working.
- The database and its data stay. A
.sqlfile in the new set is not imported over the top. The platform only adds tables or columns that don't exist yet; other statements that would change data are gathered for you to run yourself, with a database backup taken first. - Existing secrets keep their values. Only new names are added.
- The old site serves during the build. It switches only when the new release is ready; if the build fails, the old site is still there.
If you really do want a new set of data up, such as a SQLite file you edited locally, tick Use the data files of this archive instead of the site's. The earlier files are always kept first. Leave it unticked and the site's data isn't touched.
In step 1 the project carries the label released through this page before; send again any time, so you know you picked the right one. After a release there's also a Hand over another set of files button for the next round.
Projects this page won't release into
Some projects appear under Projects this page cannot release into, with the reason, so two routes never overwrite each other:
- Projects an AI agent released through link + token (let the agent update them)
- Projects connected to a Git repository
- Projects with their own build/start commands
- Projects that are paused, or have a release under way (wait for it to finish)
When a release fails
If the release doesn't succeed, the page shows why, for example The app did not start (the build passed). Its last output says why:, plus a plain-language explanation when the platform recognises the cause, and a copy button. Take it to your chat AI with a message like this:
I released this site on BrewInTH through the "Upload & go live" page and it failed.
The platform's message is below. Tell me which files to change and how,
then send me all the fixed files back in the same === FILE: ... === / === END === format.
(Don't change the database name or write passwords into the code.)
[paste the text you copied from the page here]
Fix what the AI suggests and send it to the same project again. Still stuck? Press Talk to the team in the BETA box; the team is glad to take a look. (How to report a bug so AI fixes it)
FAQ
Does it work on the free plan?
Yes. The free plan has 1 project and 1 database, enough for a first site, but little file storage; a site with lots of pictures or data should look at a bigger plan.
How should the ZIP be laid out?
Zip the whole site folder. The platform finds the real folder even if it's nested. The one rule: one ZIP, one site. If it holds several apps in separate folders, the platform names them and asks you to send each to its own project.
There's a .env with real passwords in my ZIP. Is that safe?
The .env file is not put on the site; its values are moved into the project's secrets (more on secrets). The exception is the database connection, which the platform writes itself from the project's own database.
Can a plain HTML site become an app with a database later?
Yes. Send the new set to the same project; the technology follows the files, and the old site serves until the new version is live.
I want an AI to look after the site fully from now on. Do I start over?
If you have a coding agent, create a new project and hand it the link + token. Once an agent has released a project, that project can no longer be sent through this page, so the two routes don't collide.
Summary
No coding agent? You can still go live. Create a project, choose it, send a ZIP or paste code from a chat AI, and press one button. The platform detects the technology, prepares the database and tells you everything it did. When you edit the site, send it to the same project; the address and the data stay. The feature is still BETA, and the team is there if you get stuck.
Start your first project for free →
