logo

TaniTera

Slide 16 9 - 1

TaniTera is a gamified Android platform aimed at enhancing the productivity and education of Indonesian farmers for a more prosperous future. The app offers educational materials with certification, monthly farming challenges with leaderboards, and a crop production/farmland tracker to boost engagement and improve yields. It’s a mobile project with a practical purpose and an ambitious scope.

The Idea

TaniTera is part of a larger joint research project by lecturers from Universitas Gadjah Mada’s Faculty of Agriculture and Faculty of Social and Political Science. I got involved through a fellow student from the same cohort, who was part of the research team. At first, the proposal was vague, only hinting at the idea of a gamified tool for improving farmers' productivity. After several meetings, the concept took shape into three core features:

  1. Education, inspired by Ruangguru, with textual, video, and quiz-based learning materials. Farmers would earn certificates upon completing modules.

  2. Productivity tools, including a farmland tracker and crop production

    notes to manage their agricultural activities.

  3. Community engagement, through monthly farming challenges and leaderboards to foster competition and collaboration among users.

The app also needed essential elements such as a privacy policy, user authentication, and a tailored onboarding system. Farmers would select one or more commodities to ensure the app provided relevant content based on their crops.

The Approach

One of the first challenges was handling farmer profiles and their chosen commodities. I approached it similarly to Duolingo: just as Duolingo tailors content based on selected languages, TaniTera would adapt based on the user’s selected crops. The educational structure was another key element. As requested, it followed this hierarchy:

  • ModuleChapterMaterials (articles, videos, or quizzes).

  • Certificates would be awarded upon module completion, though initially, they would be issued manually. The complexity of this structure required careful database design and optimization to ensure smooth performance.

The productivity features were relatively straightforward CRUD systems for tracking farmland data and crop yields. For development, I opted for Flutter due to my familiarity with it, Firebase as the backend service, and Contentful CMS to manage educational content.

Challenges During Development

Working with two other developers, the development moved quickly but was not without obstacles. Some of the biggest challenges included:

  1. Contentful CMS: Using Contentful was a mistake. Its lack of an official SDK for Flutter and limited third-party libraries made development unnecessarily difficult. The unofficial library I found was inadequate, requiring significant customization to properly display RichText and embedded content in articles.

  2. Flutter’s BuildContext: After spending most of my time on web development, I found

    Flutter’s BuildContext cumbersome. Unlike React, where a ContextProvider allows all child components to access the same state, Flutter’s BLoC pattern requires wrapping child components manually. While Flutter offers similar functionality, the BLoC library's author discourages it due to potential performance issues, resulting in a bloated codebase.

Publishing

TaniTera became the first app I published on Google Play, but the process was more tedious than expected. Google’s new policy requires testing with at least 20 users before public release, although the absence of monetization simplified some aspects. During the final review, the app was initially rejected, requiring additional details. I provided a screen recording of the app’s functionality and registered a dummy account for Google’s reviewers to test. After a few days, TaniTera was successfully approved for production release.

Conclusion

TaniTera has been a significant learning experience, blending technical complexity with social impact. Managing evolving requirements, optimizing content delivery, and navigating platform policies made the project more challenging than anticipated. Yet, delivering an app designed to empower farmers with both education and engagement tools has been an undeniably meaningful accomplishment.

Info

Category

productivity, mobile, flutter, agriculture

Timeline

April 2024 - July 2024

Client

Alfath Bagus Panuntun El Nur Indonesia, S.I.P., M.A.

Techstack

Flutter, Firebase, Contentful, Google Play Console

Start a project?

logo