Inspiration

GreenThumb was inspired by the challenges faced by busy individuals who want to care for plants but struggle to keep up with the necessary routines. We aimed to create a solution that simplifies plant care, promotes sustainable gardening, and helps foster a deeper appreciation for greenery in daily life.

What it does

GreenThumb helps users manage plant care effortlessly by keeping track of each plant's watering schedule. Users can input their plants’ details and watering frequency, and the app creates a list of the user's plants and a calendar marked with upcoming watering dates. The app also features a "Find a New Plant" page with a curated list of 60 plants. Users can explore and learn about these plants, helping them choose new additions to their collection or simply broaden their botanical knowledge. Additionally, GreenThumb includes a dedicated page for curated articles from a gardening and sustainability blog, encouraging users to grow their knowledge and interest in gardening, sustainability, and if you will, sustainable gardening.

How we built it

Front-End: We used React Native to build a seamless cross-platform experience for both iOS and Android users, ensuring the app is accessible to a wide audience. Other libraries used include React Native Paper for page components and date-fns for date manipulation.

Back-End: We leveraged the Supabase API for user authentication and data storage. For the gardening blog content, we wrote Python scripts using the Beautiful Soup library to scrape articles and display them within the app. As for the "Find a New Plant" page, we utilized trefle.io, a plant API, which provided detailed information about a multitude of plants.

Graphics & Images: Canva, Wikimedia Commons

Challenges we ran into

One challenge was that we found very few APIs related to the watering schedule of plants, and the ones we did find had watering information in an inconvenient format ("average/frequent" or "dry/mild/wet" instead of the exact number of days). Additionally, we had trouble making the plant icons appear on all pages.

Accomplishments that we're proud of

Creating an aesthetically pleasing and intuitive user interface that enhances user experience.

Successfully integrating multiple APIs (Supabase for user management and a plant API for plant data).

Implementing web scraping to bring curated gardening and sustainability articles into the app.

Delivering a functional cross-platform app within the timeline of the Break Through Tech program.

What we learned

We gained a lot of hands-on experience working with front-end development while building the app with React Native. Also, we learned about how to work with APIs, like using Supabase for user management and a plant API to bring in data about different plants. We also refined our skills in web scraping with Python and BeautifulSoup. Beyond the technical aspects, this project highlighted the importance of having a diverse team for building a successful and well-rounded app. Everyone's unique strengths brought fresh perspectives and ideas, making the process smoother and more collaborative.

What's next for GreenThumb

  • One of our goals is to identify a plant API that provides watering schedules in an accessible format, simplifying the process for users to input their plant information. However, given the limited selection of such APIs, a more practical approach would be to work with an available API, even if its watering data is in an inconvenient format (e.g., descriptors like "average/frequent" or "dry/mild/wet" instead of specific intervals). We could then convert this data into exact numbers of days to enhance usability.
  • We also aim to expand the "Find a New Plant" page, adding more plant profiles and enabling advanced search or filtering options.
  • For simplicity, our database is not protected by row level security, and we did not use Supabase's user authentication system (the app simply compares the given password with the password stored in the database). These security issues must be addressed if we continue developing Green Thumb.
  • The app generates a limited number of future watering dates when a plant is added, so a date-adding feature should be implemented. In addition, we would like to create a notification system to remind the user to water their plants.
  • One of our more ambitious goals is to integrate computer vision technology to help users identify plant diseases, which could be especially helpful for newbie plant owners.
  • If we choose to develop the app further, we may implement a system of badges and rewards to encourage users to plant native plants and engage in other sustainable gardening practices.
Share this project:

Updates