> ## Documentation Index
> Fetch the complete documentation index at: https://bilt.me/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish your app

> Publish your Bilt app to the web, App Store, or Google Play

Bilt gives you three ways to release a finished app: publish it directly to the web as a Progressive Web App (PWA), submit it to the Apple App Store, or release it through Google Play.

## Overview

Web publishing is the fastest option. Bilt builds the current version of your app, puts it at its own web address, and makes it installable from a phone's browser. It does not require an app-store account.

Store publishing creates native iOS and Android releases. Bilt handles cloud builds and signing, while Apple and Google provide the developer accounts, store listings, testing tracks, and review process.

## What Bilt handles

| Destination                                                                        | What Bilt manages                                                                                                                           |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **[Progressive Web App (PWA)](https://en.wikipedia.org/wiki/Progressive_web_app)** | PWA setup, web build, a permanent URL, updates, and unpublishing                                                                            |
| **App Store**                                                                      | App Store Connect API keys, bundle ID, distribution certificates, provisioning profiles, cloud builds, TestFlight, and App Store submission |
| **Google Play**                                                                    | Package name, Google Play service account, Android upload key, signed app bundles, and Play Console upload or publishing                    |

## Where to start

Open **Deploy & Share** in your Bilt project.

* Choose **Quick install** to publish to the web as a PWA.
* Choose **Release on App Store** to open the native publishing settings for Apple and Google Play.

<CardGroup cols={3}>
  <Card title="Publish to web as PWA" icon="globe" href="/docs/guides/publish-to-web-as-pwa">
    Deploy the app online, share its URL, and install it from a phone's browser
  </Card>

  <Card title="Publish to App Store" icon="app-store-ios" href="/docs/guides/publish-to-app-store">
    Step-by-step guide for Apple Developer enrollment, signing, TestFlight, and App Store review
  </Card>

  <Card title="Publish to Google Play" icon="google-play" href="/docs/guides/publish-to-google-play">
    Step-by-step guide for Play Console setup, service accounts, signing, and release tracks
  </Card>
</CardGroup>

## What you need

**For the web (PWA)**

* A working Bilt app
* Workspace-owner access
* No separate hosting or app-store account

**For the App Store**

* Apple Developer account (\$99/year)
* App Store Connect API key
* App name, bundle ID, and store listing details

**For Google Play**

* Google Play developer account (\$25 one-time)
* Android package name
* Google service account JSON key with Play API access
* Android upload key and completed Play Console policy setup

## Public and private web apps

The PWA uses the project's visibility at the time it is published:

| Visibility  | Who can open it                                                       |
| ----------- | --------------------------------------------------------------------- |
| **Public**  | Anyone with the URL                                                   |
| **Private** | The owner, or another device using a generated single-use access link |

Change visibility in **Settings → General → Project Visibility**, then republish so the web version uses the new setting.

## PWA limitations

* In-app purchases do not work in PWAs.
* PWAs can't be published to the App Store or Google Play.
* Some device-specific native features may behave differently or be unavailable in a PWA.
