# Why We Stopped Building Just Another Plant Identifier (And What We Learned)

> Source: <https://dev.to/plantfinder/why-we-stopped-building-just-another-plant-identifier-and-what-we-learned-23ig>
> Published: 2026-10-29 15:37:17+00:00

When we first started building Plant Finder, we assumed the goal was simple: train an AI model to recognize as many plant species as possible from a single photo.

We thought that if a user points their phone at a leaf and the app returns “Monstera deliciosa” with 99% accuracy, the job was done.

We were completely wrong.

After months of real-world testing with thousands of gardeners, students, and plant owners, we realized something critical about how people actually interact with plant apps.

The Reality Check: Nobody Just Wants a Name

Very few people download a plant app just to collect botanical names like trading cards.

In the real world, someone pulls out their phone because something is going wrong:

“Why are the bottom leaves turning yellow while the top looks fine?”

“Are these brown spots caused by a fungus or by overwatering?”

“Do I need to repot this, or is the soil too acidic?”

A botanical name doesn't save a dying plant. A user doesn't just need an identifier—they need a doctor.

Challenge 1: The Yellow Leaf Problem

One of the hardest things in agronomy is that completely different problems look almost identical on camera:

Overwatering causes yellow leaves.

Underwatering causes yellow leaves.

Low nitrogen causes yellow leaves.

High soil pH (nutrient lockout) causes yellow leaves.

If your app simply guesses based on color, you end up giving bad advice that kills the plant.

To fix this, we had to look at how the plant turns yellow. In botany, nutrients move differently through a plant:

Mobile nutrients (like Nitrogen and Magnesium) move upward to protect new growth. If the bottom leaves are yellow but the top is green, the soil is often lacking nutrients or is too acidic.

Immobile nutrients (like Iron and Calcium) cannot move once set. If the newest top leaves are turning pale yellow between the veins, the soil pH is usually too alkaline, locking up iron at the roots.

By asking users to look at both the top and bottom of their plants, we could estimate soil health and pH issues without forcing them to buy expensive soil testing kits.

Challenge 2: The Cost and Speed of AI

Running visual AI on high-resolution leaf photos is computationally expensive. If thousands of users upload photos every day, two things happen very quickly:

Your server bills skyrocket.

Users on slow mobile connections wait 10 seconds for a result and abandon the app.

To solve this, we stopped sending every single photo directly to large language models. Instead, we built a fast visual matching filter directly on our backend.

If someone uploads a common leaf or a plant already verified in our botanical database, the system recognizes the visual pattern instantly. It delivers the answer in less than a second at virtually zero compute cost. The heavy AI models are only called when an unfamiliar or complex problem appears.

Challenge 3: Keeping the App Safe

In the early stages of development, many mobile apps make the mistake of calling AI services directly from the phone.

The problem? Anyone can decompile an Android APK in under two minutes and extract the private API keys stored inside. Once exposed, third parties can abuse your keys and leave you with massive bills.

We migrated all AI interactions completely off the phone and placed them behind our own secure server gateway. The mobile app never touches the AI credentials directly. It simply sends the photo, verifies the request, and receives the diagnostic advice back safely.

What We Learned

Building a successful utility app isn't about using the newest buzzwords or cramming in complex features for the sake of it.

Solve the real pain point: Users care about keeping their plants alive, not just reading Latin names.

Speed matters more than complexity: A fast answer that solves 90% of a problem is better than a slow answer that takes 15 seconds to load.

Security must be built in early: Never leave private keys or sensitive logic inside the mobile client.

Project: [Plant Finder](https://plantfinder.store)

Platform: Android (Google Play)

Attribution: Designed by Code vairagi
