GardenPulse README

The project's README from github.com/AhmadHassan-BTed/GardenPulse. As one markdown file: README.md.

GardenPulse - Grow Smarter, Anywhere

Expo SDK 54 React Native TypeScript Firebase Gemini AI License Proprietary

The first method-agnostic garden assistant - soil, hydro, container, or indoor - with location-aware intelligence, on-device AI diagnostics, and privacy-first automation.


What is GardenPulse?

GardenPulse is a smart urban garden companion that eliminates the guesswork out of growing. Whether you're tending windowsill herbs, managing a balcony container garden, running a hydroponic setup, or maintaining 50+ houseplants - GardenPulse adapts every recommendation to your specific growing method, your local climate, and your live weather conditions.

Tagline: Grow Smarter, Anywhere.

Unlike generic plant apps, GardenPulse is method-agnostic: the entire UI, care schedule, and AI guidance adapts based on how you grow - not a one-size-fits-all template. Core tools are 100% free, forever, with a privacy-first, offline-capable architecture.


Key Features

AI-Powered Intelligence

Feature Description
Method-Agnostic Plant ID Snap a leaf → AI detects plant species, growing method, and likely issues (deficiency, pest, overwatering)
Localized AI Agronomist On-device ML evaluates leaf patterns against user-logged metrics and regional climate data
Smart Weather Integration Auto-adjusts care schedules based on live forecast (e.g., "Rain tomorrow → skip watering today")
Gemini Vision Diagnostics All leaf-scan diagnostics run on-device - photos are never uploaded to the cloud

Location & Context Intelligence

Feature Description
GPS / Network Location Enables hyper-local plant recommendations and regional pest/disease alerts
Auto Planting Zone Detection USDA Hardiness Zone auto-detect filters the plant database to region-survivable species
Live Weather API OpenWeatherMap One Call API 3.0 for real-time temp, humidity, precipitation, and UV index
Local Community Maps Opt-in anonymized data shows what's thriving in your ZIP code right now

Smart Scheduling & Automation

Camera & Media Tools

Analytics & Personalization

Monetization (AdMob Optimized)

Ad Type Trigger Target eCPM
High-Intent Interstitial Triggered at dosing calculation / export moments $25–45 (Tier 1)
Contextual Native Ads Styled as "Garden Tips" within the activity timeline -
Rewarded Videos Unlock PDF garden plans, compliance logs, advanced calculators -
Supporter Badge $2.99 one-time to remove interstitials only -

Community & Viral Features


Technology Stack

Layer Technology Version
Mobile Framework React Native + Expo SDK 54.0.35 (RN 0.81.5)
Language TypeScript ~5.9.2
UI Components React Native Paper (Material Design) ^5.15.3
Glassmorphic UI @callstack/liquid-glass + expo-blur ^0.8.0 / ~15.0.8
Icons @expo/vector-icons ^15.0.3
Backend & Auth Firebase Auth, Firestore, Storage ^12.14.0
AI Engine Google AI Studio - Gemini Multimodal & Vision ^0.24.1
Location expo-location + Google Maps Platform ~19.0.8
Maps react-native-maps 1.20.1
Weather OpenWeatherMap One Call API 3.0 -
Camera expo-camera ~17.0.10
Media expo-image-picker, expo-media-library -
Audio expo-av ~16.0.8
Offline Storage @react-native-async-storage/async-storage 2.2.0
State Management Zustand ^5.0.14
Monetization Google AdMob (react-native-google-mobile-ads) ^16.3.3
Vector Graphics react-native-svg 15.12.1

Project Structure

GardenPulse/
├── .agents/                  # Local AI agent skills (excluded from Git)
│   └── skills/               # Skillfish-managed agent skill packs
├── .claude/                  # Claude AI assistant context files
├── .docs/                    # Product blueprint & tech stack documents
│   └── Gardenpulse .md       # Full product specification
├── .expo/                    # Expo local build cache (auto-generated)
├── assets/                   # App icons, splash screens, banner assets
│   ├── banner-app-logo.png   # App banner (used in README)
│   ├── icon.png              # App icon (iOS)
│   ├── favicon.png           # Web favicon
│   ├── android-icon-foreground.png
│   ├── android-icon-background.png
│   └── android-icon-monochrome.png
├── App.tsx                   # Root application component
├── index.ts                  # Expo entry point
├── app.json                  # Expo config - permissions, plugins, AdMob IDs
├── metro.config.js           # Custom Metro bundler configuration
├── tsconfig.json             # TypeScript compiler settings
├── package.json              # Dependencies & npm scripts
├── INSTALL.md                # Detailed setup guide for all APIs & credentials
├── Architecture.drawio       # System architecture diagram
├── GARDENPULSE.md            # Product blueprint (markdown mirror)
├── AGENTS.md                 # Agent / AI assistant guidelines
├── CLAUDE.md                 # Claude assistant context
└── LICENSE                   # Proprietary License

Quick Start

Prerequisites

Ensure the following are installed on your machine:

Tool Minimum Version Notes
Node.js v18.x or v20.x LTS recommended
npm v9.x or later Bundled with Node
Git Any recent version For cloning
Expo Go Latest iOS / Android device app for development
Android Studio Optional For Android Emulator
Xcode Optional (macOS only) For iOS Simulator

1. Clone & Install

git clone <repository-url>
cd GardenPulse
npm install

2. Configure Environment Variables

Create a .env file in the project root and populate it with your API keys:

# ── Google AI Studio (Gemini) ───────────────────────────────
EXPO_PUBLIC_GEMINI_API_KEY=your_gemini_api_key_here

# ── OpenWeatherMap ──────────────────────────────────────────
EXPO_PUBLIC_OPENWEATHER_API_KEY=your_openweather_api_key_here

# ── Firebase ────────────────────────────────────────────────
EXPO_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key_here
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
EXPO_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
EXPO_PUBLIC_FIREBASE_MEASUREMENT_ID=your_measurement_id

Note: Google Maps API keys are embedded in app.json under the Android/iOS config sections. See INSTALL.md for details.


3. Run the Development Server

npm run start       # Start Expo dev server (scan QR with Expo Go)
npm run android     # Launch on Android emulator / connected device
npm run ios         # Launch on iOS simulator (macOS only)
npm run web         # Launch web version in browser

Scan the QR code in the terminal with the Expo Go app on your physical device to preview the app instantly.


API Keys & Service Setup

Service Where to Get It Docs
Gemini AI Google AI Studio Free tier available
OpenWeatherMap openweathermap.org One Call API 3.0
Firebase Firebase Console Auth + Firestore + Storage
Google Maps Google Cloud Console Maps SDK for Android/iOS
AdMob AdMob Console Test IDs pre-configured

The project ships with Google's standard AdMob test IDs so you can build and test ads immediately without a real AdMob account.


Production Build (Google Play Store)

# 1. Install EAS CLI
npm install -g eas-cli

# 2. Log in to Expo
eas login

# 3. Configure EAS project (first time only)
eas build:configure

# 4. Build production Android App Bundle (.aab)
eas build --platform android --profile production

The .aab output is ready for direct upload to the Google Play Console.

For full deployment instructions including iOS App Store builds, keystore management, and AdMob production ID configuration, see INSTALL.md.


UX & Design Philosophy


Privacy & Compliance

GardenPulse is designed with a privacy-first architecture:


Roadmap

Phase Feature
MVP Core logging, AI diagnostics, weather scheduling, AdMob
Phase 2 GardenPulse for Schools - STEM curriculum modules
Phase 3 Hardware integrations - Bluetooth sensors, smart irrigation
Phase 4 B2B white-label - Nurseries & seed brands
Phase 5 Certification pathways - Urban ag nonprofit partnerships

Documentation

Document Description
INSTALL.md Full setup guide - API keys, Firebase config, AdMob IDs, Play Store deployment
GARDENPULSE.md Complete product blueprint - features, UX flows, monetization model
Architecture.drawio System architecture diagram (open with draw.io)

License

This project is proprietary and confidential. All rights are reserved. See the LICENSE file for details.


Built with by the GardenPulse team  ·  Grow Smarter, Anywhere.

GardenPulse (AhmadHassan-BTed/GardenPulse)

Searching Database…

What is this?GardenPulse is a mobile garden companion app that adapts its entire UI, care schedule, and AI guidance to how you actually grow - soil, hydro, container, or indoor - instead of using a one-size-fits-all plant-care template.
Is this a native app or a web tool?It is a native mobile app built with React Native, Expo, and TypeScript, so it runs directly on iOS and Android devices rather than in a browser.
How do I get it running?Clone the repo, run npm install, create a .env file with your API keys, then start the Expo dev server and scan the QR code with the Expo Go app to preview it on your device.
What do I need installed before I can run it?You need Node.js v18 or v20, npm v9+, Git, and the Expo Go app on your phone; Android Studio and Xcode are optional for emulators. You also need API keys for Gemini AI, OpenWeatherMap, Firebase, Google Maps, and AdMob.
Is the AdMob setup ready for production use?The project ships with Google's standard AdMob test IDs so ads build and run immediately, but you'll need to swap in your own production AdMob IDs before publishing, as detailed in INSTALL.md.
Where do my plant photos go when I scan a leaf?All AI leaf diagnostics run on-device, so scanned photos are never uploaded to the cloud; location data is also never shared publicly without explicit opt-in.
Is this project actually open source?Despite GitHub topics tagging it 'mit-license', the README itself states the project is proprietary and confidential with all rights reserved, so its real licensing terms are unclear.
What is the Garden Health Score?It's a composite metric that tracks 8 signals - soil moisture, light exposure, pH stability, growth rate, and more - and turns them into plain-English insights about how your plant is doing.
How does it adapt to different growing methods?Onboarding asks 'How do you grow?' (soil, container, hydro, or indoor) and the app then tailors its entire UI, care schedule, and AI guidance to that method instead of a generic template.
Does it work without an internet connection?Yes, it uses an offline-first caching architecture so core logging and care features keep working without internet, though live weather and cloud sync still need connectivity.
What social features does it include?Users can join location-based 'Garden Clusters' to swap tips, earn growth-streak badges like 'Hydro Master', and auto-generate shareable before/after timelapse reels for Instagram or TikTok.
Size
52.8 MB
Stars
588
Updated
CommitJun 30
Age
4mo
Commits · 90 Days