Inspiration
KU has had a lot of efforts into introducing native plants into campus such as the removal of tulips, and we thought we could help increase awareness of invasive species by improving the public's perspective of native flowers.
What it does
Given a state and short description of a flower, our vector database uses multiple web sources to produce the best matches of native flora for the description.
How we built it
Using Beautiful Soup, we scraped multiple free web sources to obtain simple data and images of flowers. We then used Weaviate to create a vector database to store this data and Flask to host a server providing it to the end user in a simple webpage format.
Challenges we ran into
- Finding the right web sources that provided locational data of plants that we could scrape
- Finding a vector database to use for our search arguments
- Formatting our data for user input and output
Accomplishments that we're proud of
- "Implementing vector databases" - Michael
- "Learning web scraping" - Sam
- "Creating a frontend and working with Flask for the first time" - Blair
- "Finding a solid web source and figuring out how to scrape it" - Dylan
What we learned
- This was all of our first times using Flask and Docker, and we definitely plan on using both in the future
- How to utilize vector databases for searches and relevancy
- Google doesn't like web scraping
- How to manipulate URLs for scraping
What's next for Native Plant Finder
- Mobile implementation (likely using React Native)
- Expand the database for more sources
- Voice and image activated search
- Higher accuracy for location beyond state
- Further UX

Log in or sign up for Devpost to join the conversation.