Skip to main content

CropOptima - Smart Farming Recommendation App

Mobile app that recommends the best crops to plant based on location, soil, and weather conditions.

Android Developer & Cloud Engineer
6 months
7 developers
CropOptima - Smart Farming Recommendation App - Landscape View
CropOptima - Smart Farming Recommendation App - Portrait View
Kotlin Google Cloud Firebase App Engine Cloud SQL ML Model API

CropOptima is a smart agriculture application that uses AI and cloud infrastructure to recommend the most optimal crops to plant based on user-input soil nutrients (NPK), pH level, and geolocation.

Problem

Petani kesulitan menentukan tanaman yang tepat untuk ditanam berdasarkan kondisi tanah dan cuaca. Keputusan sering berdasarkan intuisi, bukan data, yang menyebabkan hasil panen tidak optimal.

Solution

Membangun aplikasi mobile dengan machine learning yang menganalisis data tanah (NPK, pH) dan lokasi untuk memberikan rekomendasi tanaman paling optimal dengan tingkat akurasi tinggi.

Architecture Decisions

  • Chose Kotlin for native Android development — better performance and Google ecosystem integration
  • Deployed ML model on App Engine for scalable serverless inference
  • Used Cloud SQL for persistent storage and Firebase for real-time features
  • RESTful API design for clean separation between mobile app and ML backend

Trade-offs

  • Native Android over cross-platform — better UX and Google Cloud integration, but iOS not supported
  • Cloud inference over on-device — higher accuracy but requires internet connection
  • Simplified input form — focused on core NPK/pH inputs rather than comprehensive soil analysis

Lessons Learned

  • ML model accuracy heavily depends on training data quality
  • Real agricultural data is noisy — need robust error handling
  • Farmers prefer simple UI over feature-rich interfaces
  • Agile methodology critical for 7-person team coordination

Features

  • AI-based crop recommendation system
  • Soil nutrient input (NPK, pH)
  • Geolocation-based suggestions
  • Cloud-based ML inference via App Engine
  • User authentication (register, login, reset)
  • Result visualization with crop images and details
  • Responsive and intuitive UI

Challenges Overcome

  • Deploying ML models on Google Cloud Platform
  • Handling real-time data input and cloud communication
  • Ensuring accurate recommendations from noisy soil data
  • Designing user-friendly mobile interface for farmers