Saltar al contenido

Plantilla de Estilo de vida

Verdant AI Plant Identifier and Care App

An Expo and React Native app that identifies plants from a photo, checks sick leaves and schedules watering. It runs on sample data out of the box; connect Supabase and a Gemini key to make the AI real.

  • 22 pantallas
  • iOS y Android
  • Datos de ejemplo
  • Actualizada el 4 nov 2026
  • Versión verificada

Copia gratis · Código completo · Sin tarjeta

Pantallas

6 pantallas de la app en funcionamiento.

Qué incluye

  1. Identify a plant from a photo: best match, two look-alikes, confidence in words, pet safety and care at a glance
  2. Health check of a sick leaf: likely issue, marked spots on the photo, this week's steps as a checklist
  3. My plants by room, care rings and reminders derived from each plant's watering and feeding schedule
  4. "Ask about this plant" chat that knows the plant's species, room, watering and last health check
  5. Three AI tasks (identify, diagnose, plant-chat) run on Gemini through one Supabase Edge Function
  6. Sample mode: a 12-plant sample garden and designed sample AI answers, no backend needed

Acerca de esta plantilla

Overview

Verdant is a complete plant identifier and care app on Expo SDK 57 and React Native. People point the camera at a plant to name it, photograph a sick leaf to see the likely problem and what to do this week, keep their plants by room with a care schedule, and ask questions about one plant. The look is bright and photo-led: white pages, real plant photos, a near-black capsule for the main action and a fresh green accent.

With .env blank it runs in sample mode: a labelled sample garden of 12 plants in 4 rooms (3 due today), a sample health history, and designed sample AI answers marked "Sample results". What the person adds is saved on the device. Connecting Supabase and a Gemini key switches every service to the live backend without code changes.

Key features

  • Camera with a framing guide, Identify and Diagnose modes, the photo library and snap tips; the web preview shows a labelled sample photo

  • Identification result: the photo full width, best match, confidence as words and a three-bar meter, why it matches, pet toxicity, light, water, humidity and temperature, two look-alikes to switch to with Undo

  • Health check: marked spots on the leaf, issue, signs, steps checklist, what to watch, a check-in reminder, Mark as better

  • My plants: photo grid by room, "N plants need water" with Water all and Undo; each plant has care rings, a photo timeline, notes, health history and a watering-rhythm chart

  • Reminders: today's done/due ring, a 7-day strip and local notifications at the person's time (Free covers 5 plants, Pro all)

  • A 17-species care guide with search, problems and similar plants

  • Onboarding with photo cards, a paywall, You (rooms, units, Delete my data), About, in-app Terms and Privacy, light and dark

Screens

22 screens: My plants, Identify, Identification result, Species guide, Plant health, Health check, My plant, Ask about this plant, Edit plant, Add plant, Find a plant, Reminders, You, Rooms, Welcome, Onboarding (value steps and "What do you grow?"), Verdant Pro, Photo credits, Terms, Privacy and About.

AI and backend

  • identify (vision, 2 units): photo in, three matches with high/medium/low confidence, care and pet safety out

  • diagnose (vision, 2 units): leaf photo in, issue, confidence, signs, steps, what to watch and up to 3 spots out; free accounts get one check

  • plant-chat (text, 1 unit): a question with the plant's care record, a short answer out

  • The app calls one Supabase Edge Function (ai) with an anonymous session; it charges units from a daily allowance and calls Gemini with your key

  • Supabase tables for rooms, plants, care events, plant photos and scans under per-user row-level security, plus a private photo bucket

  • The app asks once before the first photo or question goes to the AI provider; only what the person chooses is sent

Monetisation

Free: 3 identifications a day, 1 health check, phone reminders for 5 plants. Pro (yearly with a 7-day trial, or monthly) removes the limits. Purchases go through RevenueCat (react-native-purchases) and a webhook tells the server who has Pro. Until you connect RevenueCat to sell, the paywall shows sample prices and "Subscriptions open in the App Store version"; nothing is sold and Pro is never granted.

Reskin and photo credits

The plant words, care facets, care tasks, camera modes, onboarding choices and free limits live in src/config/domain.ts; the species in src/config/catalogue.ts; the server prompts take their domain words from DOMAIN in supabase/functions/ai/tasks.ts. The 50 bundled sample photos are CC0 or CC BY from Wikimedia Commons, iNaturalist, the WordPress photo directory and rawpixel, plus the kernel's Unsplash photos. Keep the in-app Photo credits page if you keep the photos, or replace the photos with your own.

Setup

Connect Supabase and apply the migrations, turn on the AI with your Gemini key and deploy the functions, connect RevenueCat to sell Pro, then make it yours. The README has each step.

aiplant identifierplant carehouseplantsgeminisupabaserevenuecatreact nativeexpocamerareminders

Qué obtienes

  • Código completo: Expo y React Native en TypeScript, como una app en tu espacio de trabajo.
  • Vista previa en vivo: prueba cada cambio en el navegador o en tu móvil.
  • Versión verificada: compila y cada pantalla abre sin errores.
  • Asistente de IA: cambia lo que quieras por chat; cada cambio usa créditos.
  • Compilaciones y subida a tiendas: compilaciones de iOS y Android, enviadas a App Store y Google Play desde Publish.
  • Copiar no gasta créditos: la copia en sí no cuesta nada.

Creada con la versión actual de FluxNative.

Qué necesitas

  • Una cuenta de FluxNative: el plan Free admite hasta 2 apps.
  • Sin backend para empezar: usa datos de ejemplo hasta que conectes el tuyo.
  • Creator o superior: para compilaciones nativas y subida a tiendas.
  • Cuentas de tienda: Apple Developer Program (99 US$ al año) y Google Play (25 US$ una vez), para publicar.

Qué incluye el código

pantallas
22
archivos en tu copia
429
líneas escritas para esta app
8212
componentes de UI listos
142

Textos de la app en inglés y vietnamita

Tecnologías

Expo SDK
57.0.22
React Native
0.86.3
React
19.2.8
TypeScript
6.0.3
Expo Router
57.0.21
Supabase JS
2.112.3
RevenueCat
10.9.1

Del package.json de esta versión.

Sistema de diseño

Títulos
Fuente del sistema
Texto
Fuente del sistema
  • Modo claro y oscuro
  • Liquid Glass
  • Botones de cápsula
  • Tarjetas planas

Configuración después del fork

Tu copia se abre con el asistente de IA que la creó. Sigue los pasos en orden: conecta en Server lo que pida un paso y luego envía cada prompt.

  1. Connect Supabase

    Server › Backend › Supabase. Apply the two migrations, allow anonymous sign-ins in the Supabase dashboard, and write the public URL and anon key to .env. Until then the app runs on sample data.

    Prompt para la IA

    Connect this app to my Supabase project (Server › Backend › Supabase). Write EXPO_PUBLIC_SUPABASE_URL and EXPO_PUBLIC_SUPABASE_ANON_KEY to .env. Apply supabase/migrations/20261019000000_ai_kit.sql, then supabase/migrations/20261019010000_verdant.sql. Remind me to turn on Authentication › Sign In / Providers › "Allow anonymous sign-ins" in the Supabase dashboard, because the app signs people in anonymously. Then check that My plants loads an empty garden from Supabase instead of the sample garden.

  2. Turn on the AI

    Server › API keys & secrets: add GEMINI_API_KEY. Deploy the ai function and push its secrets. Set AI_FREE_UNITS_PER_DAY to 6 (3 identifications a day) and AI_PRO_UNITS_PER_DAY to 500.

    Prompt para la IA

    Turn on Verdant's AI. I added GEMINI_API_KEY under Server › API keys & secrets. Set AI_FREE_UNITS_PER_DAY to 6 and AI_PRO_UNITS_PER_DAY to 500 as secrets too. Deploy the supabase/functions/ai function and push its secrets, then invoke it with { "task": "usage" } as a test user and show me the answer. Do not change the tasks in supabase/functions/ai/tasks.ts.

  3. Sell Pro with RevenueCat

    Server › Monetization: connect RevenueCat (yearly with a 7-day trial and monthly products, entitlement "pro"). Save REVENUECAT_WEBHOOK_SECRET, deploy revenuecat-webhook with JWT verification off, add the webhook in RevenueCat.

    Prompt para la IA

    Set up Verdant Pro through RevenueCat. Connect RevenueCat under Server › Monetization so EXPO_PUBLIC_REVENUECAT_IOS_KEY and EXPO_PUBLIC_REVENUECAT_ANDROID_KEY are in .env. The entitlement is "pro"; the plans are yearly with a 7-day free trial and monthly (keep PLAN_PREVIEW in src/services/iap/index.ts in step with my prices). Generate a long random REVENUECAT_WEBHOOK_SECRET under Server › API keys & secrets, deploy supabase/functions/revenuecat-webhook with JWT verification off, push the secret, and tell me the webhook URL and Authorization header to paste into RevenueCat › Integrations › Webhooks.

  4. Camera and reminders on a phone build

    The camera (expo-camera) and care reminders (expo-notifications) need a native build; the web preview shows a sample photo instead of the camera. Check the permission texts in app.json first.

    Prompt para la IA

    Prepare Verdant for its first phone build. Review the camera and photo library permission texts in app.json (NSCameraUsageDescription, NSPhotoLibraryUsageDescription and the expo-camera and expo-image-picker plugins) and make them name my app. Keep expo-camera and expo-notifications in the build. Then tell me how to test identification with the real camera and a care reminder on a device.

  5. Set your icon, store IDs and legal pages

    Rename the app, set your icon and colours, and point the legal links at your pages. Replace the in-app Terms and Privacy words or set the hosted page URLs.

    Prompt para la IA

    Make this app mine: rename Verdant to my app's name everywhere a person sees it (app.json name, About, paywall, onboarding, prompts), change the bundle ID and package from com.fluxnative.verdant, draw a new icon in assets/icon.svg and assets/adaptive-icon.svg and render the PNGs, and set my brand colour in src/theme/brand.ts (keep the near-black buttons unless I say otherwise). Set EXPO_PUBLIC_PRIVACY_POLICY_URL, EXPO_PUBLIC_TERMS_URL and EXPO_PUBLIC_SUPPORT_URL in .env if I have hosted pages, otherwise rewrite the in-app Terms and Privacy pages in src/features/legal for my business. Keep the Photo credits page while the sample photos stay.

Cómo usar esta plantilla

  1. Usa la plantilla para tener una copia editable, con su código fuente, en tu espacio de trabajo (Plantillas).
  2. Pide al asistente de IA los cambios que quieras, con tus propias palabras (Trabajar con el asistente).
  3. Prueba cada cambio en la vista previa en vivo o en tu teléfono (Vista previa).
  4. Con Creator o superior, compílala para iOS y Android y envíala a las tiendas (Resumen de la publicación).

Licencia y soporte

Licencia

La app creada para ti es tuya; el código de la plantilla sigue siendo de InspireUI y tiene licencia para usarse en tus apps (Términos › Nuestra propiedad intelectual).

Ayuda

  • Guías sobre plantillas, el asistente y la publicación.
  • Contactar con soporte desde Ayuda; respondemos normalmente en 1–2 días laborables.
  • En tu copia, pregunta al asistente de IA sobre cualquier pantalla o archivo.

Hecho por FluxNative

Política de soporte

Preguntas

¿Es gratis?

Copiar una plantilla gratis no cuesta nada, ni créditos; una Premium es un pago único por sitio web. Los cambios por chat y las compilaciones usan créditos.

¿Qué es mío?

Eres dueño de la app creada para ti. El código de la plantilla sigue siendo de InspireUI y tiene licencia para usarlo en tus apps (Terms › Our intellectual property).

¿Necesito saber programar?

No. Pide cambios al asistente con tus palabras; el código completo está ahí cuando lo quieras.

¿Incluye backend?

No. Una app completa indica el backend que necesita y conectas el tuyo en Server; un diseño usa datos de ejemplo.

¿Puedo cambiar el diseño?

Sí. La pestaña Design cambia el color de marca, los colores, las fuentes y las esquinas sin gastar créditos; el asistente cambia el resto.

¿Qué plan necesito para publicar?

Creator o superior compila y sube a las tiendas, con tus propias cuentas de Apple y Google. La app de una plantilla Premium compila en cualquier plan cuando su sitio web está conectado.

¿Puedo descargar el código?

Sí, con Download source o Push to GitHub, cuando tu espacio de trabajo haya comprado un plan, créditos o una plantilla de pago. La app de una plantilla Premium también necesita su sitio web conectado.

¿Y si se hizo con una versión anterior de FluxNative?

Tu copia funciona tal cual. Pide al asistente que la actualice a funciones nuevas, como idiomas y monedas de la app; es el último paso de configuración.

¿Lista para convertirla en tu app?

Empieza desde Verdant AI Plant Identifier and Care App y cambia lo que quieras por chat. Tu copia incluye el código fuente completo.

Copia gratis. Sin tarjeta de crédito.

Taking a little longer than usual…

Loading FluxNative