logo

YASH YERUNKAR

CONTACT
← Back home

PlantPetz

AI plant-care companion for iOS and Android.

PlantPetz cover
Role
Full Stack Developer
Platform
iOS & Android
Type
Mobile App

Overview

PlantPetz is a mobile app where plant owners photograph a plant, get it identified by AI, and then chat with an AI care assistant about that plant. It keeps a weekly care journal for each plant, asks for periodic photo check-ins that compare old and new photos, and can connect over Bluetooth to nearby PlantPetz devices. It is available in seven languages.

The problem

Casual plant owners often don't know what species they have or how to care for it. PlantPetz identifies the plant from a photo, gives tailored ongoing care advice, and keeps a written history of how the plant is doing, so owners don't have to track it themselves.

PlantPetz home with the plant garden and care summaries
PlantPetz photo guide for AI plant identification
PlantPetz AI care chat for a plant
PlantPetz automatic weekly plant journal
PlantPetz hardware guide and tutorial videos

What I built

  • 01AI plant identification from up to 5 photos, with common and scientific name, confidence, and ratings for sunlight, water need and care difficulty
  • 02Per-plant AI chat with photo support, plus a general plant-questions chat
  • 03Automatic weekly care journal written by AI from each plant's conversations, continuing from the previous entry
  • 04Photo check-ins that compare an earlier photo with a new one and report growth or decline
  • 05Sign-in with Apple, Google or an emailed one-time code
  • 06Interface and AI replies in 7 languages: English, German, French, Spanish, Italian, Portuguese and Dutch
  • 07Bluetooth scan-and-connect for nearby PlantPetz devices, and an in-app video guide library
  • 08First-run onboarding with permission requests and a guided coachmark tour
  • 09In-app deletion of a plant, or of the user's whole data set including photos

Key flows

  1. Take up to 5 photos
  2. AI identifies the plant
  3. User reviews the result
  4. Plant profile is saved
  5. AI gives a first health assessment
  1. Chat about a plant with text and photos
  2. AI answers using that plant's details and the user's city
  1. A week after the last activity
  2. Journal entry is written from the week's chats
  3. Photo check-in is prompted
  4. AI compares the old and new photos

How it's built

One Expo and React Native codebase with file-based routing and four tabs (Home, Journal, Video, Settings). Plants, chats, journals and photos live in Firebase Firestore and Storage. Three small serverless endpoints, built with the Vercel AI SDK and routed through the Vercel AI Gateway, handle plant detection, chat and journal summaries.

Dependable answers from an AI that reads photos
Each endpoint must return output matching a Zod schema, such as ratings from 1 to 5 and a fixed set of confidence values. Different models handle identification, chat and summaries, the prompt changes by situation, and a failed call gives a friendly fallback instead of a crash.
Catching the wrong plant in a check-in
The AI receives a labelled older photo and a newer one and first confirms they show the same species. On a mismatch the message isn't saved, and the user is asked to retake the photo.
A weekly journal with no scheduler
The app checks which journals are due on launch and when it returns to the foreground, throttled so runs never overlap. It summarises only the chats since the last entry and passes the previous entry to the AI, so it can note progress or decline.
Light photo uploads
Photos are resized and compressed before upload: 1024px for current shots and 512px for earlier ones. Only the last 20 messages are sent, and the server rejects requests with more than 5 images.
Safe updates to a live app
The app applies over-the-air updates before showing anything, and a minimum-build setting in Firestore can block very old builds with an update-required screen. If Firestore can't be reached, it lets the user in.
Seven languages, in the app and the AI
Every interface string lives in locale files, and the chosen language is sent with each AI request so replies come back in it. Fields the app parses stay in English. The translations were generated by a script that runs the English file through the AI gateway, keeping placeholders and plural forms intact.

Integrations

Clerk
Accounts and sign-in with Apple, Google or an emailed code.
Firebase Firestore and Storage
Plants, chat messages, journals, feature flags and photos.
Firebase Analytics
How users move through sign-in, plant setup, chat, journals and check-ins.
Vercel AI SDK and AI Gateway
OpenAI models for plant identification, chat replies and journal summaries.
EAS and Expo Updates
Cloud builds, store submission and over-the-air updates.
Bluetooth Low Energy
Finding and connecting to nearby PlantPetz devices.

Tech stack

  • React Native
  • Expo
  • TypeScript
  • NativeWind
  • Clerk
  • Firebase
  • Vercel AI SDK
  • OpenAI
  • Zod
  • i18n
  • Bluetooth LE
  • EAS

What's next

This is phase one of the app. Next, the company's products will be sold in the app, and its planter hardware will connect to it so the device can be controlled from your phone.