How to publish a ZIP web app
Publish a web app from a ZIP file with GemiGo. Learn the difference between a ready-built static site and source code that needs a build step.
Choose the right ZIP content
A ready-built static site contains the HTML entry point and the assets it references. A source project contains source files and may define a build script. GemiGo publishes static files directly and builds supported source projects that declare a build step.
1. Prepare the files
Keep the app entry point, assets and build configuration together. Include the dependencies and build script needed by a source project. Do not include node_modules, private keys or secret environment files. Verify the output runs in a browser.
2. Upload and publish
Open Publish an app, choose ZIP, select your archive and follow the publishing flow. Sign in when asked. Read the build and deployment status; if the build fails, inspect the reported error and fix the source before trying again.
3. Check the live website
After success, open the resulting URL and test navigation, asset loading and external integrations. Share that URL or update the app through its project settings. A frontend deployment does not automatically run a backend service.
When should I paste HTML instead?
If the whole app fits into a single HTML document, pasting HTML avoids packaging an archive. Use ZIP when the app needs multiple local assets or a source build. You can also use the existing GitHub publishing option for a repository.
Try it: a small addition activity
This example was written by GemiGo. It runs offline, checks answers and generates another question without external APIs. Try it in your browser, then download and publish it through the matching input. It demonstrates the publishing workflow; it does not claim a learning outcome.
A ready-built ZIP structure
addition.zip
├── index.html
└── styles.cssThe archive root is the website root; this example needs no build. index.html references its stylesheet with <link rel="stylesheet" href="./styles.css">. After uploading the ZIP, check the styling and exercise buttons. Place your own images in assets/ and reference them with relative paths such as ./assets/image.png. Filename case must match.
Images, styles or scripts do not load?
Open the asset URL directly. A 404 usually means the archive path or filename does not match the reference. C:\, /Users/ and file:// are local filesystem paths, not published image addresses. If assets load but the page stays blank, inspect the browser console: an external API may reject cross-origin requests or require sign-in. Remove private credentials before uploading.
What about React or Vite source code?
For a ready-built site, run your project’s build command locally and zip the output files—for example, put index.html and assets/ from inside dist/ at the archive root. For source publishing, include package.json, dependency declarations, source files and required configuration so a supported build can produce static output. If only deep links fail, check application routing and the asset base path.