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.
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.