PWA and Telegram Mini Apps: mobile without the app stores
A catalog, a booking flow, or a request form rarely needs an app-store cycle. One codebase can live as a PWA and a Telegram Mini App.
App stores are a product strategy, not a default. For a catalog, a booking flow, or a request form, compare native delivery with the web capabilities the task actually needs. A Progressive Web App and a Telegram Mini App can share one implementation, sit on the home screen, and take a payment you can name.
Choose the delivery surface after checking required device features, platform rules and the intended audience.
Why the store is a bad default
Native delivery may involve separate platform work, review and maintenance. Compare the actual feature and device requirements; no universal team size, delivery duration or maintenance-cost share is established here.
Installation and registration add steps that should be tested with the intended audience. The number of lost users depends on the product and traffic; no general conversion rate is claimed.
Compare authentication and notification routes by supported capabilities, consent, delivery evidence and operating requirements. Web Push and messenger messages are not guaranteed delivery or cost-free operation.
Distribution depends on platform policies. Self-hosted PWAs avoid app-store listing review, while Mini Apps still depend on Telegram policies and availability. Neither is free of hosting, browser or account dependencies.
What the two surfaces actually are
| Native (iOS / Android) | Telegram Mini App | PWA | |
|---|---|---|---|
| Stack | Native or cross-platform implementation | Web implementation plus Telegram integration | Web implementation plus install/offline features |
| Distribution | App Store, Google Play | Inside the messenger | Safari, Chrome, Edge |
| Install | Product-specific download and setup | Supported Telegram launch | Home-screen installation where supported |
| Availability dependency | Store and platform policies | Telegram policies, bot and hosting | Browser capabilities and hosting |
| Auth | SMS / store account | Telegram identity | WebAuthn, passkeys, magic link |
| Payments | Applicable store and payment policies | Stars for digital goods/services; supported providers for physical goods/services | Supported web payment provider and applicable rules |
| Push | APNs / FCM | Bot messages | Web Push (iOS 16.4+ once installed) |
A Telegram Mini App combines a web interface with supported Telegram client features. Validate initialization data on the server. For digital goods and services inside Telegram, use Stars under the current rules; physical goods/services have a separate supported-provider path. Verify the actual product and market rather than promising arbitrary card checkout.
A PWA is the same site, promoted. From the home screen it opens standalone: no browser chrome. A configured service worker can cache the shell and selected data. Offline behaviour requires an explicit cache strategy: show the data age and distinguish a local draft from an order accepted by the server.
WhatsApp remains a capture and notify channel (official Business API) even when the interactive surface is Telegram plus PWA. The two messengers are complements, not a religious choice.
Web Push on iPhone
The old native argument was “Safari cannot push.” WebKit documents Web Push from iOS 16.4 for Home Screen web apps, after the user grants permission. Delivery, booking reminders, a bonus credit, an abandoned-cart nudge can sit on the lock screen and on an Apple Watch without an SMS tariff.
The constraint belongs in the brief: the visitor must have added the icon. A random Safari tab does not get the same privilege. Telegram bot messages provide another route for users who permit the bot to contact them; receipt still needs testing.
One backend, two doors
The useful architecture is not two sites. It is one API and one inventory:
- Opened inside Telegram: WebApp SDK,
initDatachecked cryptographically, Telegram type and colour. - Opened in Safari or Chrome: service worker,
manifest.json, a quiet offer to add the icon.
Catalog, stock, pricing, promo codes, and the CRM hook stay singular. A delivery rule changes once.
Name the ERP or inventory source and the required update/acceptance checks in the brief. A disconnected fixture is a demonstration, not evidence of a working production integration.
Where it fits
Local delivery and small retail. A tap from a channel post or a QR on the pack. Filters, modifiers and explicitly collected contact/delivery details, payment through a supported provider, a bot message with the order number and a window.
Clinics, workshops, studios. Test the booking and reminder path with the responsible operator. An interactive calendar in the Mini App; reminders at 24 hours and at 2 hours with confirm / move / cancel; a cancel returns the slot before the chair goes empty.
B2B and dealer cabinets. A foreman on a site does not open a laptop. Wholesale prices for that account, live stock, a camera on a barcode, “raise an invoice.” The accounting system reserves and bills. The PWA is the field client.
When native is still the tool
Honesty about the edge:
- Heavy 3D (Unreal, Unity) wants Metal or Vulkan, not a web canvas pretending.
- All-day background GPS with the screen off (drivers, couriers on an eight-hour shift). Browsers throttle background work on purpose.
- Sleep-mode Bluetooth to a holter, a band, or a sensor that must keep a packet stream while the phone is in a pocket.
If the job is to sell, book, run loyalty, take a card, or take a request — PWA and Mini Apps may fit a shared web implementation. Verify the required client features before choosing them.
A first channel, then the second on the same code, is how the work is scoped. Request a scope with the inventory system and the payment rails named.
- Is the job a catalog, a booking, or a request — or a 3D game, all-day GPS, or sleep-mode Bluetooth?
- Do PWA and Mini App share one backend, one inventory, one price list?
- Are payment methods and platform rules verified for the actual goods, market and distribution channel?
- Is Web Push available on iOS only after the PWA is on the home screen — and is that in the brief?