Back to projects

Live app

Plant ID App

Why it’s useful

During my time off work, I have spent a lot of time in the garden. I wanted an app I could use every day to help me tend my plants.

What it does

  • Accepts an uploaded plant photo.
  • Uses AI vision to identify the plant and shape the result into care guidance.
  • Provides practical notes on watering, light, placement, and pet safety.

Current status / Next steps

Current status

  • Live app at plants.gavinnesom.com.
  • The app accepts plant photos and returns a structured care report.
  • Server-side rate limiting is in place before the OpenAI vision API call to protect my personal API usage.

Next steps

  • Improve the care-report formatting.
  • Add stronger uncertainty and safety language where identification confidence is limited.
  • Add export to PDF.

Build / Deployment

Vite · React · JavaScript · Tailwind · Vercel · Upstash Redis · OpenAI vision API

The Plant ID App is a standalone Vite/React web app. The browser handles photo upload and report display, while a Vercel serverless API route applies rate limits before calling the OpenAI vision API.

Front end

Vite, React, and Tailwind provide the upload flow and care-report UI.

Serverless API

A Vercel API route keeps the OpenAI vision API call off the client and applies rate limiting before the request is sent.

Rate limiting

Upstash Redis stores request counts so the public demo cannot freely burn through my personal OpenAI API usage.

Architecture / How it works

Upload flow

The browser accepts the plant photo and shows the generated care report.

Vision request

The serverless API route sends the image request to the OpenAI vision API without exposing the API key in the browser.

Rate limiting

Upstash Redis tracks usage before the OpenAI call is made.

Care report

The response is shaped into identification, watering, suitability, safety, and next-step notes.

Input safety

Uploads are checked by file type and size before processing.

Design Principles

Useful, not just identified

  • A plant name is only the starting point; the result should help someone decide how to water it, where to place it, and whether it belongs in their home or garden.
  • The care report should read like practical garden help, not a raw AI response.

Safety and uncertainty

  • Plant identification is not perfect, so confidence, caveats, and safety notes need to be visible.
  • Pet-safety warnings matter because plant advice can affect real choices around a house, yard, or garden.

Readable care cards

  • Customized icons make watering, light, suitability, safety, and care notes easier to scan.
  • The page should make the important care categories obvious at a glance.

Links