Inspiration
Gardening can be challenging for beginners and experienced gardeners alike. We noticed that many people struggle to identify plant diseases early and don't know what growth stage their plants are in. We wanted to make gardening more accessible and engaging by creating an AI-powered companion that helps users monitor their plants' health and growth in real-time, turning gardening from a guessing game into a data-driven, rewarding experience.
What it does
Flourish is a Flutter-based mobile application that uses dual AI models to analyze plant health and growth stages. Users can:
Take photos of their plants directly through the app Get instant AI analysis using two specialized Roboflow models: Model 1: Detects growth stages (germination, growing, flowering) Model 2: Identifies plant diseases (Early Blight, Late Blight, Leaf Spot, Mosaic Virus, Rust) Receive personalized care recommendations based on the detected growth stage and health status Track their plants' progress over time with daily photos and health scores View comprehensive health metrics including growth scores, health scores, and overall plant wellness ratings Get actionable advice for treating diseases and optimizing plant care at each growth stage
How we built it
Frontend: Built with Flutter for cross-platform mobile development (iOS, Android) Backend: Flask API server that interfaces with Roboflow's inference API AI Models: Two custom-trained Roboflow models for growth stage detection and disease identification Database: Firebase Firestore for storing plant data, user information, and analysis results Storage: Firebase Storage for plant photos organized by user and plant ID Authentication: Firebase Auth for secure user management Architecture: Implemented a complete pipeline that captures images, uploads to Firebase Storage, calls the backend API, calculates health scores using a weighted algorithm (55% health, 40% growth, 5% confidence), and persists results in Firestore for historical tracking
Challenges we ran into
Cross-platform API calls: Handling different localhost URLs for Android emulators (10.0.2.2), iOS simulators (127.0.0.1), and physical devices required platform-specific URL logic Scoring algorithm: Designing a fair scoring system that accurately reflects plant health while accounting for disease severity levels (Late Blight and Mosaic Virus being most severe) Real-time data sync: Ensuring Firebase uploads complete before making API calls and maintaining data consistency across the app Disease-specific recommendations: Creating medically accurate treatment plans for each of the 5 disease types, including understanding that Mosaic Virus has no cure UI/UX balance: Displaying complex health data in an intuitive, visually appealing way without overwhelming users
Log in or sign up for Devpost to join the conversation.