This is a case study on how I was able to take my flutter app from a simple open-source project on GitHub to 20k downloads in the play store and 3k downloads in the app store. In this article, I will provide a full case study as to how and why I started the project and what I believe are the key factors that led to the success of this app. This case study I believe will be an inspiration and useful resource budding developers out there who are planning to develop and launch their next app using Flutter.
Back in December 2018, I was doing web development and React Native for cross-platform mobile development. And on December 4, 2018, when the first stable version of flutter (flutter 1.0) was launched, I happened to watch the YouTube live stream. Impressed by their demo and quality of the already existing production apps in Flutter, I thought to give it a go with flutter. So I started learning flutter. I was learning from courses on Udemy and tutorials on youtube. Also going through the official documentation.
Firstly, it was very easy to get started with Flutter. installing and setting up a development machine for flutter was nothing compared to the difficulties I had to set up my development machine during my work with React Native. Then I stuck with Flutter due to the speed of development. Replicating a few UIs that I have previously developed with React Native, took me only 1/5th of the time it took me before. And the development tools and workflow was very straight forward and complete.
Back when I was doing Ionic and React Native, I had contributed components on some open source projects, so almost after a week of doing flutter I thought, why not do the same, create open-source components (widgets) for everyone to use. That is how I started the Flutter UI challenge repository in GitHub and was contributing almost one UI every day. And slowly, I started sharing the screenshots, on Twitter, Facebook, and Github. Sharing screenshot with code was a great idea, as both the non-coders as well as coders could understand what I was doing, what I could do. It was almost a month, I had contributed more than 20 Uis in the repository, that was when I got a message for my first Flutter project. Since then I have almost completely been working with Flutter on a daily basis. And whenever I had time I would find designs in dribble and uplabs and recreate those UIs in a flutter in a push to my UI challenge repository and share screenshots in my social network as well. Slowly after publishing a few UI and posting my designs on Flutter Groups on Facebook, people started noticing my repository and I was occasionally getting few stars in GitHub.
Up until now, the app was only on GitHub, so if anyone wished to see the app, they had to clone the repository, setup flutter if they haven’t already done, and then run the project. Also searching through the play store, there were only a few Flutter related apps, that were helpful for up and coming flutter developers. So I thought why not publish this app in the Play store. I already had a play store subscription. So on one weekend I built first APK, prepared launcher icon, few screenshots, and other content related to the play store and published the first version of my application at the end of March 2019. Reaching the first 1000 users was a challenge. I was posting in social media groups relating to Flutter, in my Facebook and Twitter with a link to play store. Also, our local community Flutter Nepal was a great help in reaching the first 1000 milestones. Around the same time, I heard about Codemagic, the automated build, and deployment platform completely tailored for a flutter, and they had a free access model. So I signed up for code magic. That was one of the best decisions I made for the Flutter UI challenge app, as that gave me the power to automate the process of delivering updates to my app continuously. Since then I have been very happy with Codemagic and it’s services. Doing that, every time I pushed 2-3 UI I merged my development branch to master and once I pushed code to my master branch, code magic was set up to automatically build an android app bundle and publish it to the Play Store production release. This made me able to provide a continuous content update to my users. And I was publishing around 2-3 UIs every month and publishing a new version of my app in play store almost every month. This I believe was key for me in getting a continuous increase in downloads.
During this period I was also teaching flutter to college students as a professional course. This gave me another platform to share my work and my knowledge. This also helped me a lot in improving my flutter skills. Also, everything I made while learning and teaching Flutter, I open-sourced in Github. This was another major decision that helped me a lot as people were able to trust me more by viewing my other small projects and examples of various scenarios in a flutter.
After around 3 months of good feedback and reviews in the Play Store, people were asking me if I could develop for both Android and iOS, so I decided to launch my UI challenge app in App Store as well. So in July 2019, I submitted the first build of my application in the App Store. I used the service of Codemagic as before to build and publish my application to App Store Connect. However the first version of my application was rejected, saying that it was like a bunch of UIs collected from the internet, didn’t have enough functionalities for users. So in the App Store, I found other flutter related apps, they had an in-app code viewing feature, so I implemented the same feature in my application. I redesigned the App so that users were able to view the code to the UIs I have written right in the application. Also, users were able to share code, link to GitHub code file was all available along with the preview to the UI. And then in the next few tries, my application was published in the App Store.
Also through the app, I made it easier for people to find a link to my GitHub, Youtube channel well. Later I also added Firebase and authentication service, so users could save the favorite UIs for later use. I also left an option for users to use the app without ever signing in as before because not all people would like to sign in to the app without first trying the application.
During this period, I was also giving talks in developer meetups, helping organize flutter study jams and workshops with Flutter Nepal, where I was able to share my work and my skills. This also helped a lot in getting me and my project noticed.
As of now, My app has a 4.9-star rating with 11000+ active installs and 19000+ total installs in Play Store and 2800+ downloads in the App Store. I am still contributing to new UIs and content in the application. I have also updated to have more features, links to my other projects, tutorials on youtube, etc.
- Being consistent with learning and sharing in multiple platforms was the key
- Being able to deliver quickly with tools like Codemagic was another major push point
- Sharing in multiple formats (youtube videos of speed code, screenshots of UI, App in-store, codes in Github was another major push point)
I thank all those who supported me directly and indirectly in this journey. And, stay tuned as there is more to come.
- Play Store: http://bit.ly/flutteruichallenges-android
- App Store: http://bit.ly/flutteruichallenges-ios