Kinh Tri Tung
- Jonathan Nguyen
- Application , Mobile
- July 17, 2023
As a Buddhist, I also practice reciting Buddha’s teaching every day, and it’s hard to carry the Buddhist books with me everywhere. That’s why I created this mobile app. It is designed as a mobile library for Buddist Texts and Scriptures. This app currently available on both Google Play Store and Apple AppStore
Simple UI Design
I designed this app to make it as easy as possible for any Vietnamese Buddhist to use it, so the design is also as simple as possible.
However, the app is packed with many features such as PDF Viewer, Markdown Viewer, Full Features Music Player, Dark/Light mode, Dictionary Search… The user can also increase/decrease the fontSize when they’re reading.
Framework and Backends
- This app is built with Flutter as a cross-platform native mobile app.
- For state management, I used Flutter built-in setState side-by-side with Bloc pattern.
- I use Firebase Firestore to fetch and update data for users.
Problems
Since this is a free mobile app without ads, and I don’t make any money with it. My biggest concern when I started to build this app is how to keep the monthly budget as low as possible.
- With a montly budget of very close to $0, and Firebase Firestore only allow 50K read and 20K write request for free-tier. My solution is to use RealmDb as a local database, so that the app only fetching data from Firbase whenever there is new data, otherwise, it will fetch data from a local database. This way, I can have tens of thousands of users, and it won’t break my wallet.
- Because this app allows users to download audio files, I need to store my files on the cloud. I chose to use Firebase Storage as the main storage because it allows 1GB/Day of data transfer. And when it’s maxed out, the app has a backup URL for every file that will redirect users to another service that’s also offer free-tier storage (Cloudflare, BunnyCDN…)
So far, I manage to keep my budget at $0 monthly for both Cloud Database and File Storage with over 2500 downloads on both Android and iOS within 4 months.