FreeHit is an Android Application developed in Java for Cricket Enthusiasts. Apart from only displaying you scores of various matches, it offered various features such as News, Tweets ( Match Specific, Tournament/Series Specific and event/day specific ), Player Statistics, Team Information ( Team Players, Team News ), Ranking ( Player and Team Rankings ), Ability to pick your favourite teams ( To have your favourite Team in Focus ) and Polls.
The selling point ( At least what we thought would be ) was the Ad-Free nature of the application. There were no Ads on the Platforms and never did we intend to ( No source of income from this application was stupid mistake. Scroll down to the last paragraph to read more on this )
Polls was what one could say one of the unique features of the application where new polls were added everyday and real-time updates were served to the end-users on the application.
A dynamic dark mode was added to the application which the user could also manually toggle it on from the settings.
The back-end was coded in NodeJS and MongoDB was used as the database for the application. The Admin was provided with an intuitive dashboard to manipulate the data displayed on the application.
We used Retrofit as the HTTP Client ( Shout out to the guys at awesome folks at Square ) which made our lives relatively easy to retrieve and upload JSON ( or other structured data ) via a REST based Service. For a brief period of time we had the application running using threads to make network calls and parse the JSON in java natively without any libraries. But pretty soon, we realised that this wasn’t the most efficient and modular way to go ahead with the application and restructured the whole application, integrating Retrofit into the application over a sleepless night. One might argue over the use of Volley over Retrofit but all we have to say is that the application handling only JSON data and Retrofit being so easy to integrate, we never looked at Volley as an option for this.
With the Initial Alpha Release to a closed group, bug reporting was a pain for the users since they had to redo their actions hoping that they can re-create the bug and then send us the log files. Teaching them how to send us the log files which involved using adb was not an easy task and neither was it convenient. In a search for a solution to make this easier, we encountered a library by Ereza ( Shout out to this awesome guy ) which displayed a custom activity on crash from which the user could with a click of a button just report us the issue with the complete log. We could’ve integrated Firebase Crashlytics to the application but this made more sense to us as the user was shown a custom configurable screen which made the UX just a tad bit better.
The UI from the Alpha to Beta release wasn’t changed much and we proceeded with the production roll-out with the same. The mistake that was made was that both the Alpha and Beta releases were for a closed group of people we knew and the response received was overwhelming. This led to the production roll-out which received a lukewarm response ( Against our expectations ). The only core feature in the application was to view Live, Past and Upcoming matches ( Along with various information about the matches including live scores, team, commentary and more ) which wasn’t appealing to a major chunk of our user base.
This led to some major changes in the application with some new features ( Mentioned in the first paragraph ). With this we hit around 5,000 downloads in about 2 months with organic word of mouth marketing and some pretty decent likes on some of our Instagram Posts ( Some touching the 1k+ mark on likes, impressions and reach ).
The Application went through many design Iterations from the Alpha and Beta Release to several updates to the production release to finally adopting to the material design standards with a simple and clean UI.
The application cannot be downloaded anymore and is no longer maintained. This was an ambitious project which had to be shut down eventually because the server costs were getting too high with the number of daily active users on the platform increasing day to day after the 2-month mark post production roll-out. We migrated from AWS to Aruba Cloud overnight to keep the application running and serve users Ad-Free content but the we just couldn’t keep up with the prices. The application being completely free didn’t really help much as we had no business model to scale this up to keep serving more users with the matching server costs. A Donate Application was eventually released which could’ve helped FreeHit stay afloat but the installs and earnings from that application were not even close to the overhead operational costs we needed. We always wanted to server our iOS users too but coding in 2 Platforms and the application being completely free didn’t make much sense to us. But now, Flutter coming into the picture ( We are aware that there were other frameworks available to develop Hybrid applications but we never were fond of any because they didn’t offer the native feel on both platforms with the same codebase. In short, here at Boilerplate, we ❤️ Flutter ) , we might reconsider developing the whole application on the Flutter Framework to server both iOS and Android users. Rest assured, when this happens, the application will still be completely Ad-Free ( If we can allocate resources and time on this Application )