Inspiration Our project was born out of a passion for nature and a desire to help people connect with the outdoors. Inspired by countless hikes, garden explorations, and the beauty of diverse plant species, we wanted to create an app that empowers users to discover, identify, and collect information about the plants around them. The idea was to blend modern AI technology with a playful, user-friendly interface that encourages exploration.

What It Does FlowerDex allows users to:

Identify Plants: Upload a photo and let our AI-powered system detect and recognize local plant species. Build a Collection: Save identified plants into a personal collection with detailed descriptions. Track Progress: Earn levels and badges as you explore and add more plants. Discover More: Learn about the plants you encounter with engaging descriptions and community-shared insights. How We Built It Data & Model Training: We collected thousands of plant images and used transfer learning with a YOLOv8 model (starting from yolov8s.pt) to train our custom model for plant detection. Techniques like quantization were explored to optimize inference speed on mobile devices.

Backend Development: The server is built with Flask, organized using blueprints for a clean architecture. We integrated SQLAlchemy for database management, handling user profiles, plant collections, and progress tracking.

Frontend & UI Design: The user interface was designed with a playful, hand-drawn aesthetic to evoke the feeling of exploring nature. Using responsive CSS, we ensured that the app is mobile-friendly. Multiple pages (Home, Identify, Collection, Profile) were created to deliver a seamless user experience.

Integration & Testing: We connected the model inference with our Flask backend via subprocess calls and implemented rigorous testing to ensure smooth performance across different devices and network conditions.

Challenges We Ran Into Model Integration: Integrating the YOLOv8 model for real-time plant identification and optimizing inference without significant accuracy loss was a major hurdle.

UI Consistency: Maintaining a consistent, hand-drawn style across different pages while ensuring usability and responsiveness required numerous iterations.

File and Data Management: Handling user-uploaded images, managing file storage, and keeping the database in sync with user actions proved complex, especially when scaling the application.

Deployment: Ensuring fast performance on mobile devices, including exploring quantization methods, added another layer of complexity to the project.

Accomplishments That We're Proud Of Successfully training a custom YOLOv8 model to accurately identify local plant species. Building an engaging and responsive user interface that encourages exploration and learning. Seamlessly integrating machine learning with a full-stack web application. Receiving positive feedback from early users who enjoyed discovering and cataloging plants. What We Learned Technical Skills: We deepened our understanding of deep learning, model quantization, and the intricacies of deploying AI models in production environments. Full-Stack Development: Building the backend with Flask and SQLAlchemy, along with designing a responsive, mobile-first UI, taught us a great deal about building end-to-end applications. Design & User Experience: Creating a playful and intuitive user interface helped us appreciate the importance of aesthetics and usability in engaging users. Problem-Solving: Tackling real-world challenges in model integration, data management, and performance optimization enriched our problem-solving skills. What's Next for Quack-Go-Green-WebApp Looking ahead, we plan to:

Enhance Model Accuracy: Explore quantization-aware training and additional data augmentation techniques to further improve detection accuracy. Expand Plant Database: Enrich our database with more plant species and detailed information to offer a comprehensive resource. Community Features: Introduce social features that allow users to share discoveries, rate plants, and contribute to a community-driven knowledge base. Mobile App Development: Consider developing a native mobile version to take advantage of device sensors and offline capabilities for an even richer user experience.

Share this project:

Updates