Flora

Mobile Plant ID App

Tools

Flutter Android plant.id GBIF

Timeline

2024 - Present

Description

Identify plants and mushrooms via a powerful plant identification AI model.

Context

An app which lets naturalists and hobbyists identify obscure or unknown plants. Uses an AI model trained on over 35,000 taxa of flora. Also provides images, information including watering/sunlight requirements, and disease/health checkup and identification.

An iPhone mockup with a sceenshof of a plant identification app
An iPhone mockup with a sceenshof of a plant identification app
An iPhone mockup with a sceenshof of a plant identification app
An iPhone mockup with a sceenshof of a plant identification app

Problem


Existing plant identification apps are clunky, slow, and not very accurate. A recent study shows that the plant.id model by Kindwise is by far the most accurate. Yet no public/commercial apps using it were available. So, I made an app using the model to provide exceptionally accurate results, while also providing a clean and modern UI/UX.

Process


So I knew I wanted to use Flutter to make this app - I think as a framework it's a lot of fun to develop in, and Dart is a powerful language. Some of the most important considerations I had were:

  • Fast/snappy UI

  • Clean/easy UX

  • Persistent cloud storage

  • High accuracy identifications

  • Useful information

The first two were easy - I just made sure to use a minimal amount of widgets and ensure all async tasks weren't done on the main (UI) thread. For persistence, I opted for Firebase since it has great Flutter integration. Firestore for identification information, and Cloud Storage for the user images. As far as high accuracy, this was a matter of fine-tuning the API parameters essentially. To provide useful information, I used the returned suggested plant name(s) and do a search on several sites including the Global Biodiversity Information Foundation, Wikipedia, and a few other places.