Skip to main content

How to convert a PWA into an Android app in 5 minutes

In early 2021 I developed a memory game called Kobadoo as a PWA (Progressive Web App) using ReactJS. It works pretty well as a browser game and gets decent traffic, but I wanted to reach more potential users by making it available on the official mobile app marketplaces. Since I didn't want to spend any time coding a native app, the easiest solution I found was to convert the PWA into a TWA (Trusted Web Activities) app. It barely takes 5 minutes to do it.

TWA essentially allows you to easily create an Android app (.apk file) that displays a full-screen browser view of your PWA. The user experience is almost identical to a web app and the views from the TWA will count as traffic on your web app. This means that if you have ads on your PWA, they will still work (and generate revenue) from the TWA.

Another advantage is that every update you make on the PWA will be immediately reflected on the TWA without the need to submit a new version on Google Play.

Here's how I converted Kobadoo.com into an app on Google Play:

  1. Install, if you don't have them already, Node (v10 or higher), Java 8 and Android SDK.
  2. Install Bubblewrap on your command line using this command:
    npm i -g @bubblewrap/cli
  3. Initialize Bubblewrap using a publicly-accessible URL to your manifest.json:
    bubblewrap init --manifest https://www.example.com/manifest.json
  4. Fill in the prompted form. In most cases, the default value is the right one.
  5. Build the TWA app using this command:
    bubblewrap init
  6. Test the app on your Android device using the newly created file app-release-signed.apk
  7. Submit the app on Google Play by uploading the newly created file app-release-bundle.aab 
The review process on Google Play takes on average 3-5 days and, after that, your app should be available for everyone to download and use. Enjoy!

Popular posts from this blog

How to jump to time offsets in HTML5 video

Let's say that you have a 30-minute WEBM video file, from which you just want to play the following video segments , jumping from one to the other automatically  without interruptions : [00:01:25.00 - 00:02:25.00] -> from second 85 to 145 [00:11:40.00 - 00:11:55.00] -> from second 700 to 715 [00:20:26.00 - 00:21:07.00] -> from second 1226 to 1267 [00:26:11.00 - 00:28:01.00] -> from second 1571 to 1681 To increase the complexity, let's think that you have these video segments in a PHP variable $arrayVideoSegments  (normally the case if they were retrieved from the database).   $arrayVideoSegments[0]->startTime = 85   $arrayVideoSegments[0]->endTime = 145   $arrayVideoSegments[1]->startTime = 700   $arrayVideoSegments[1]->endTime = 715   $arrayVideoSegments[2]->startTime = 1226   $arrayVideoSegments[2]->endTime = 1267   $arrayVideoSegments[3]->startTime = 1571   $arrayVideoSegments[3]->endTime = 1681 The

5 learnings from a techie turned into a NFT artist

In September 2021 I chose to sell my crypto AI art business after two enriching (and often painful) years as a part-time sole founder. Today  AImade.art  is one of the best-selling AI art collections on Opensea . I want to share with you some of the key lessons I learned during this period: Work hard and get lucky.  And I got really lucky. On February 24th 2021 I had planned to shut down AImade.art , back then a business selling AI Art printed on canvas. I was discouraged after several months with no sales and my Shopify billing cycle was ending that day. Then something incredible happened: I missed the Shopify deadline and I sold an artwork one hour later. The buyer asked me: " Can I get it in as an NFT? ". I had absolutely no idea what an NFT was, but after a bit of research I found the concept so interesting that, two days later, I had pivoted the entire business to  NFT art made by AI . Sales started to pick up: I had finally found product-market fit . Impostor syndr

Learnings from "The 7 habits of highly effective people"

I just finished reading " The 7 habits of highly effective people ", a best-seller by Stephen R. Covey, that has inspired me in many levels. I am sharing some of the learnings I got, mostly as a personal bookmark, but hopefully this post can be useful for the community. Habit 1: Be Proactive It is not what happens to us, but our response to what happens to us that hurts us.  There is a space between stimulus and response, and the key to our growth and happiness is how we use that space. While reactive people feel victimized and out of control, proactive people have the power to choose how to respond to any circumstances (i.e., smiling with bad weather). We must focus our efforts on the things we can do something about, and accept what we can't change (past events, weather,...). Try replacing victimized language (i.e., " There is nothing I can do ", " I have to do it ",...) with proactive language (" Let's see all the options "