PWA to App Store
publish your website as an app

Convert your Joomla or WordPress website into an app and publish it to the Google Play Store and Apple App Store — at a fixed price, based on your PWA

If you want to convert a website to an app, native development quotes quickly reach five figures — plus ongoing costs for every content change. There is a simpler way: if your website runs on Joomla or WordPress, I turn it into an installable app with PWA technology and publish it to the Google Play Store and the Apple App Store on request. You keep managing content in your CMS, the app stays up to date automatically.

We also build fully native apps. See the case studies on our own apps: Callvent, phone calls become calendar events and Inkward, handwriting becomes a mirror.

miTT PWA PUSH (Joomla) 1

Your PWA as an app in the
App Store and Google Play

Your PWA is the foundation — published as an app, your website becomes visible where users actually search for apps. I package your Joomla or WordPress PWA as a full app, handle submission and the review process, and you keep managing your content in your CMS as usual.

Google Play Store
Android App

  • fixed price, one-time
  • EUR 500.00 plus VAT
  • Android app (Trusted Web Activity) built from your existing PWA
  • app signing and secure keystore management
  • your PWA push notifications keep working
  • Google Play Console setup
  • submission and review handling
Request Play Store package

Apple App Store
iOS App

  • fixed price, one-time
  • EUR 1,100.00 plus VAT
  • iOS app (native app wrapper) built from your existing PWA
  • native push integration via the Apple Push Notification service (APNs) and Firebase
  • Universal Links — website links open directly in the app
  • TestFlight testing before release
  • App Store Connect setup, including 2 Apple review rounds
Request App Store package

Good to know

Optionally I also take care of the complete store listing for both stores — screenshots in all required device formats, listing texts with keywords, privacy policy including hosting, and the feature graphic — as a package for EUR 800.00 plus VAT. Additional Apple review rounds beyond the two included ones are charged at EUR 150.00 per round.

You need a Google Play Console account (one-time 25 USD paid to Google) and an Apple Developer account (99 USD/year paid to Apple, billed in your local currency) in your name — I help you set both up. You keep managing your content in Joomla or WordPress: the app loads your website, so content changes never require a store update.

Reference: What's On Lincoln on the App Store and on Google Play — a Joomla PWA built with miTT PWA, published in both stores.

What does it cost to publish a PWA as an app?

The costs are predictable because the app builds on your existing website. All items at a glance:

ServicePriceDue
miTT PWA plugin (Joomla or WordPress)from EUR 39.00 (Joomla) / EUR 49.00 (WordPress)subscription, prerequisite
Google Play Store packageEUR 500.00 plus VATone-time
Apple App Store package (incl. 2 review rounds)EUR 1,100.00 plus VATone-time
Store listing package for both stores (optional)EUR 800.00 plus VATone-time
Google Play Console account (paid to Google)25 USDone-time
Apple Developer Program (paid to Apple)99 USDyearly

For comparison: a custom native app usually starts at 10,000 EUR depending on scope — and every content change needs an app update. The PWA approach uses your website as the single source: maintain once, current everywhere.

How to publish a PWA to the Play Store and App Store

Step 1

Progressive Web App

Your website becomes a Progressive Web App with the miTT PWA plugin: installable, offline-capable, with push notifications.

Step 2

Android

I package the PWA as a Trusted Web Activity (TWA), sign the app and set up the Google Play Console.

Step 3

iOS

I build a native app wrapper with its own push integration via APNs and set up App Store Connect including TestFlight.

Step 4

Release

I submit both apps and handle the review process until they go live in the stores.

Publishing a PWA to Google Play: Trusted Web Activity and Digital Asset Links

On Android the app is a Trusted Web Activity. That is not a rebuilt WebView shell: Chrome renders your existing PWA full-screen inside a thin Android container, so what users see is the site you already maintain, without browser chrome around it.

The link between app and website is a file at /.well-known/assetlinks.json on your own domain. It has to be served over HTTPS as application/json, answer with a plain 200, and contain the package name and the SHA-256 fingerprint of the signing key. Redirects are not followed — a 301 to the www version is enough to break the verification.

This is where most self-built TWAs go wrong, and the mistake is always the same one. If you use Play App Signing, the fingerprint that belongs in the file is the one from the key Google holds (Play Console, under Release, Setup, App signing), not the one keytool printed for your local upload key. The two differ, and with the wrong one the app opens with a browser address bar across the top instead of full-screen. The free AASA validator checks exactly this link for both Android App Links and iOS Universal Links.

One thing worth clarifying early, because it decides your timeline: developer accounts registered as an individual after 13 November 2023 have to run a closed test with at least twelve testers, opted in continuously for fourteen days, before Google grants production access. Organisation accounts are exempt, as are individual accounts opened before that date.

Tools such as PWABuilder and Bubblewrap do the packaging part of this, and PWABuilder uses Bubblewrap under the hood. What they hand you is an .aab file, a keystore and a draft assetlinks.json — a package, not a published app. Upload, store listing, review and release stay manual either way, which is the part I take over.

Web app only, or into the app stores?

A PWA is installable without any store — straight from the browser. For many projects that is enough. The stores pay off when your audience actually searches there: a store listing adds visibility, works as a trust signal and makes your app discoverable via store search. My recommendation is deliberately staged: PWA first, stores second — so you only pay for store publishing when it adds real value.

Guideline 4.2: why Apple rejects repackaged websites

Apple deliberately makes life harder for web apps than Google does, and the rule behind it is Guideline 4.2, Minimum Functionality. Apple's wording is that an app should offer features, content and UI that lift it beyond a repackaged website; 4.2.2 adds that apps should not primarily be web clippings or a collection of links. The hurdle is therefore not the packaging — any PWA can be wrapped and submitted. The hurdle is the review, which is why a package that falls out of a generator is an attempt, not a result.

What lifts the iOS app above a wrapped website is native behaviour: push notifications through the Apple Push Notification service, Universal Links so links to your site open in the app, and a proper launch sequence. The push part is not a stylistic choice. Since iOS 16.4 web push does exist, but only for web apps added to the home screen from Safari — inside a native app it is unavailable, so an app from the store needs APNs.

Two rejection reasons hit CMS projects more often than the guideline itself. The privacy policy has to sit at a URL that is publicly reachable at review time. And if your site lets people create an account, the app must offer account deletion inside the app — mandatory since June 2022, and deactivating an account is explicitly not enough.

From real experience: the first submission of the reference app What's On Lincoln was rejected by Apple because an autoplaying intro video led to a blank launch screen on iPad. After a targeted fix, the second round passed. This is exactly why two Apple review rounds are included in the fixed price.

Case study: What's On Lincoln

The events portal What's On Lincoln from the UK runs on Joomla and became a Progressive Web App with miTT PWA. On top of that I built the Android app as a Trusted Web Activity and the iOS app as a native wrapper with push integration — both apps are live: on the Apple App Store and on Google Play.

miTT PWA PUSH (Joomla) 1

Apps by mittl medien
our own products in both stores

I do not only publish for clients — I build and run these apps myself, from a web project in the stores to fully native apps with watch companions.

There is also belegassist, a web application for receipt management: it matches bank transactions against existing receipts and pulls invoices from your mailbox. Text recognition runs on our own servers in the EU, hosting in Germany.

parkplace
web to app

  • parking marketplace for Germany and Austria
  • Laravel web app as an Android TWA
  • iOS app with a native wrapper
  • four store apps from one codebase
  • the same route as my app store packages

Callvent
fully native

  • turns phone calls into calendar entries
  • native iOS and Android app
  • Apple Watch and Wear OS
  • Siri Shortcuts and in-app subscriptions
  • available in eight languages

Inkward
native + AI

  • journal companion with handwriting OCR
  • syncs reMarkable and Supernote
  • AI reflection on your own pages
  • Apple Watch and Wear OS
  • AI backend on servers in Germany

Turn your WordPress website into an app

To convert a WordPress site to an app, nothing is rebuilt: the miTT PWA plugin for WordPress turns your site into a Progressive Web App, and that PWA becomes the Android app as a Trusted Web Activity and the iOS app as a native wrapper with APNs push. WordPress stays the only place you edit content, and a new post appears in the app without a store update.

One thing I would rather say than leave out: the app I have published so far, What's On Lincoln, runs on Joomla, not WordPress. The route is the same either way — the plugin exists for both systems, and everything from the Trusted Web Activity to the Apple review is identical. But if you want a live WordPress app to look at before you decide, I cannot point you at one yet.

There is an honest line between this and the subscription builders that fill this market. If you want a self-service dashboard and monthly billing, they are the better fit. This is the other option: a one-time fixed price, both developer accounts in your name, and someone who carries the app through the review instead of handing you a package.

Two WordPress specifics are worth knowing before we start. Aggressive caching plugins and a service worker can work against each other, so the caching rules need checking. And a theme with fixed widths tends to fail Apple's review on an iPad screen, because the reviewer sees a stretched desktop layout rather than an app.

Joomla mobile app and WordPress app without double maintenance

Whether Joomla mobile app or WordPress app — the content always comes from your CMS. Editing, approvals and SEO stay in one place, the app loads the website. If you also want someone to keep the site itself up to date, that is what WordPress and Joomla maintenance is for. App icons and splash screens in all sizes are generated by the free PWA Asset Generator, and the free AASA validator checks whether your Universal Links and Android App Links are set up correctly.

Frequently asked questions

Answers to the most common questions about publishing a website as an app.

Quite fast on a PWA basis: the Android app is usually submitted within a few days after I get access to your Google Play Console. Apple adds review time on top — expect one to two weeks until release, review included.

Based on your existing Joomla or WordPress website, publishing to the Google Play Store costs 500 EUR and to the Apple App Store 1,100 EUR, each one-time plus VAT. A natively developed app usually starts in the five-figure range.

Yes, the accounts run in your name so you stay the owner of your app: Google Play Console costs a one-time 25 USD, the Apple Developer Program 99 USD per year, billed in your local currency. I help you set both up.

No. The app loads your website — you keep managing content in Joomla or WordPress only. Content changes appear in the app immediately, no store update required.

Yes. The Android app inherits your PWA push notifications automatically. For iOS I set up a native push integration via the Apple Push Notification service (APNs), because web push is not available inside iOS apps.

Your website should run as a Progressive Web App — for Joomla and WordPress the miTT PWA plugin takes care of that. You also need HTTPS and a high-resolution logo for the app icon and splash screen.

Yes. The miTT PWA plugin turns your WordPress site into a Progressive Web App from the WordPress backend, and I build the two store apps on top of it. Nothing about your theme or your posts has to be rewritten.

Yes, both packages are booked separately. Google Play is the cheaper and faster route, so starting there and adding the App Store later is a common order.

The Digital Asset Links verification failed, so the app falls back to a browser tab instead of running full-screen. Almost always the assetlinks.json holds the fingerprint of the local upload key instead of the Play App Signing key that Google holds, or the file redirects instead of answering with a plain 200.

Only if the developer account was registered as an individual after 13 November 2023. Those accounts need a closed test with at least twelve testers, opted in continuously for fourteen days, before Google grants production access. Organisation accounts and older individual accounts are exempt.

No, and it is worth being clear about it. The app is a native container around your website, so it installs from the store, sends push notifications and opens links directly — but the screens themselves come from your site. If you need camera access, sensors or offline data entry, that calls for native development instead.

Questions about app publishing?

A short online meeting or an e-mail clears up open questions — just drop me a line

Send inquiry