App name: Fly
Description: Analytics for Twitter
Support contact: twitteranalyticsapp at gmail com
| Google Play | App Store |
Why I’ve decided to build this project?
I’ve noticed that there are many analytics for Twitter in web and they have relative success. Surprisingly, there is not much competition in this space in the mobile scene. Most mobile apps are actually focused on followers, but not many of them offer analytic insights. That surprised me even more because metrics say that a big majority of Twitter users actually use it on mobile, not through the web. Although, my app is targeting users which are writting a lot on Twitter and are aiming to grow their audience. Since it’s easier for most of the users to write on their laptops, not mobile phones, then perhaps they prefer using Twitter through web?
In order to gather any insight on this matter I’ve decided to build rather simple MVP, to find out.
Challenges
Mobile app development and Firebase was rather familar thing to me. The biggest hurdle I had with Twitter API and it’s limitations. It took me a while to get through Twitter documentation and the way they authenticate API requests. Fortunately, I’ve found some open-source libraries written in Node.js and Dart, which allowed me to integrate it fairly easily in the Clud Functions and iOS/Android.
Each endpoint had a request limit, so I had to account that while building the app and cache some information. In some cases the caching is just kept on the mobile device, but in other I’m running a server function every some time to update user data.
Versions
v1 (MVP)
It took me around 60 hours (~2-3 weeks, since I wasn’t working full time, but only about 2-4 hours per day) to build an MVP version.
My work included:
- business & design
- researching, planning and designing the app
- preparing terms & privacy policy
- setting up & preparing design, descriptions for App Store / Google Play
- app store reviews
- backend
- setting up Firestore and Cloud Functions with Firebase
- setting up Twitter Dev account and connecting backend to it
- app
- building the app logic and UI with Flutter
- setting up the app for both Android and iOS
- optimizing API Twitters calls to fit into data caps
- extra
- creating PR to some Flutter libraries to add functionality I needed
- playing too much with different charts UI
This is how MVP looks like: