Inspiration

The idea for Plant Pet Safety started from a real experience shared by one of our team members, who has two cats that are always curious about new plants. One loves sniffing them, while the other occasionally tries to take a bite, so choosing pet-safe plants has always been important.

Cats can be especially vulnerable to certain plants, such as lilies, where even small exposures can be dangerous. This makes identifying an unfamiliar plant before bringing it home especially important.

One day, while browsing the plant section at Home Depot, a plant caught our team member’s attention, but the label only described it as a “tropical plant” without clearly identifying the species. Figuring out whether it was safe would have required first identifying the plant and then separately searching for its toxicity. Doing all of that in the middle of a store aisle felt inconvenient, so the plant was left behind.

That experience led to a simple question: What if you could take a photo of a plant and quickly check whether it may be harmful to your pets?

What it does

Plant Pet Safety helps pet owners quickly check whether a plant may be harmful to cats or dogs.

Users can either upload a photo of a plant or search by plant name. For photo uploads, the app identifies the most likely plant match and shows the identification confidence, a reference image, and similar alternatives when available.

Once a plant is selected, the app looks up available toxicity information for cats and dogs. If toxicity data is missing, the result is shown as unknown rather than being assumed safe. Users can also save plants to My Plants so they can revisit previous results later.

Because plant identification is not always certain, the app is designed to make uncertainty visible instead of presenting every result as guaranteed.

How we built it

We built Plant Pet Safety as a web application using Next.js, React, and TypeScript.

For photo-based plant identification and species-name search, we integrated the Pl@ntNet API. It provides likely plant matches, scientific names, confidence scores, and related images that we use to help users compare possible identifications.

For pet-safety information, we use Plant Smart as the primary toxicity data source. Toxicity records are matched using scientific names so the same lookup flow can be reused whether a plant was identified from a photo or selected through search.

We also use local non-toxic reference data from Plant Smart Safe Plants. The dataset metadata credits the ASPCA Toxic and Non-Toxic Plants list as its original source.

Because the different data sources do not always contain information for the same plants, we designed the app to handle incomplete data conservatively. If no toxicity record is available, the app returns an unknown safety state rather than assuming that the plant is safe.

We also added confidence warnings, alternative plant matches, API timeout and failure handling, plant-name search, and a My Plants feature that allows users to save results locally for later reference.

Challenges we ran into

One of the biggest challenges was the limited availability and coverage of plant toxicity information.

Pl@ntNet can identify a wide range of plant species, but the toxicity datasets do not necessarily contain records for every plant that can be identified. This created a gap where the app might know what a plant is, but still not have enough information to confidently say whether it is safe for cats or dogs.

Because of that, we decided not to treat a missing toxicity record as evidence that a plant is safe. Instead, the app displays the result as unknown and clearly tells the user that unknown does not mean safe.

Another challenge was handling uncertainty in plant identification itself. A single photo can return several visually similar species, and those species may have different toxicity information. To address this, we display confidence scores, warn users when an identification is uncertain, and show alternative matches for comparison.

Accomplishments that we're proud of

We’re proud that we were able to take an idea that came from a real everyday problem and turn it into something that actually works.

At the beginning, the goal was simple: make it easier to figure out whether a plant might be dangerous to a pet without having to search through multiple websites. Seeing that idea grow into an MVP with photo identification, plant-name search, cat and dog safety information, alternative matches, confidence warnings, and saved plants was really rewarding for us.

We’re also proud of the decisions we made around uncertainty. Since this project deals with pet safety, we did not want the app to pretend it always had a definite answer. Building in unknown states, low-confidence warnings, and alternative matches became an important part of the project rather than just an error case.

As a team, we also learned how to combine different APIs, handle incomplete data, improve the UI, write tests, and keep iterating when things did not work the way we expected. For an MVP, we’re proud that we were able to build something functional that reflects the original idea we had when we started.

What we learned

We learned that building a safety-focused application is not just about returning an answer. It is also about clearly communicating when the answer may be incomplete or uncertain.

Working with multiple external data sources taught us that plant identification data and toxicity data do not always line up perfectly. A plant may be identifiable while having little or no toxicity information available, which made careful handling of missing data especially important.

We also learned more about integrating APIs, normalizing plant names across different sources, handling timeouts and failures, and designing a user interface around confidence and uncertainty.

Most importantly, we learned that transparency can be just as important as accuracy. When the app cannot confidently determine something, it is better to clearly say unknown than to make an unsafe assumption.

What's next for Plant Pet Safety

Our next goal is to turn this MVP into a fully working app that could be used in everyday situations.

We want to expand the amount and quality of toxicity data, improve common-name search coverage, support more pets beyond cats and dogs, and make plant identification easier to verify before users rely on the safety result.

We would also like to improve saved-plant organization, add clearer source information, provide location-based veterinary or poison-control resources, and give users more guidance on what to do if a pet may have been exposed to a toxic plant.

Beyond adding features, we want to continue improving the reliability, usability, and safety of the app so Plant Pet Safety can grow from a hackathon MVP into a practical tool for pet owners.

Built With

Share this project:

Updates

Submission history