Skip to content

jnrivra/IvY_agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌿 IvY β€” Vertical-Farming Intelligence Suite

A multi-agent AI design system and a pair of TypeScript analytics dashboards for monitoring and optimizing VPD (Vapor Pressure Deficit) and environmental conditions in AgroUrbana's hydroponic vertical-farming operation.

TypeScript React Recharts Plotly.js Tailwind CSS License: MIT


πŸ“– What is this?

IvY ("Growing Intelligence") brings together everything used to turn raw hydroponic sensor exports into actionable agronomic decisions. The repository contains three complementary parts, all built around the same domain β€” vertical-farming crop optimization for lettuce and basil.

  1. πŸ€– IvY Ecosystem (agent1/) β€” A documented multi-agent system: 14 specialized AI agent definitions (coordination, backend, domain, frontend and quality experts) written as structured Markdown briefs. Each agent has a clear role, responsibilities and collaboration map, designed to be orchestrated as a coordinated team for the VPD-analysis project. These are prompt/persona specifications, not a running service β€” a reusable blueprint for AI-assisted development of the data apps.
  2. πŸ“Š DataRabbit β€” Advanced Dashboard (data_rabbit/) β€” The flagship analytics app (v2.0). A React + TypeScript dashboard for in-depth weekly analysis, week-over-week comparison, temporal evolution charts and statistical insight over CSV sensor exports.
  3. πŸ‡ Rabbit Data β€” Core Monitor (src/) β€” The original, lighter monitoring app (v0.1). Uploads CSV data, persists it locally in IndexedDB, renders raw-data tables and lets the user configure optimal target ranges per growing area.

Note on naming: "Rabbit" is the product brand for these dashboards β€” there is no RabbitMQ / message-broker component in this project.


πŸ—οΈ Architecture

flowchart TD
    subgraph Source["🌱 Data Source"]
        HA["Home Assistant / Grafana<br/>sensor exports"]
        CSV["P2.csv β€” temperature, humidity,<br/>VPD, CO2, light state per island"]
    end

    subgraph Agents["πŸ€– agent1 β€” IvY Ecosystem (AI agent specs)"]
        MASTER["IvY-Master<br/>Coordinator"]
        BE["Backend Experts<br/>JS-Algorithms Β· NodeJS-Excel"]
        DOM["Domain Experts<br/>VPD-Scientist Β· Crop-Optimizer Β· AgroUrbana-Analyst"]
        FE["Frontend Experts<br/>React19 Β· TypeScript Β· Recharts Β· CSS"]
        QA["Quality Experts<br/>Jest-Tester Β· Agro-QA"]
        MASTER --> BE & DOM & FE & QA
    end

    subgraph Apps["πŸ“Š TypeScript Applications"]
        DR["DataRabbit (data_rabbit/)<br/>React 18 Β· Tailwind Β· Recharts Β· PapaParse"]
        RD["Rabbit Data (src/)<br/>React 19 Β· IndexedDB Β· Plotly.js"]
    end

    subgraph Output["πŸ“ˆ Insight"]
        VIZ["Weekly analysis Β· Evolution charts<br/>Comparisons Β· Target deviations Β· Alerts"]
    end

    HA --> CSV
    CSV --> DR
    CSV --> RD
    Agents -.->|design & build| Apps
    DR --> VIZ
    RD --> VIZ
Loading

VPD is computed from temperature and relative humidity per growing island and compared against crop-specific optimal ranges:

VPD = 0.6108 Β· e^(17.27Β·T / (T + 237.3)) Β· (1 βˆ’ RH / 100)

✨ Features

DataRabbit (advanced dashboard)

  • Detailed weekly analysis β€” per-parameter averages, time-out-of-range, min/max and dynamic trend calculation (linear regression).
  • Week-over-week comparison β€” absolute and percentage deltas with automatic interpretation.
  • Temporal evolution charts β€” multi-island selection, configurable week ranges, average overlays for temperature, humidity, VPD, CO2 and light usage.
  • Per-island crop configuration β€” πŸ₯¬ lettuce / 🌿 basil with dynamic target ranges and rotating harvest cycle.
  • Statistical insight β€” standard deviation, coefficient of variation, parameter stability and intuitive bias icons (πŸ”₯/❄️, πŸ’§/β˜€οΈ, πŸ“ˆ/πŸ“‰, βœ…).
  • Light-hour tracking β€” weekly light-usage percentage per island.

Rabbit Data (core monitor)

  • CSV ingestion with local IndexedDB persistence (works fully client-side).
  • Raw-data tables per section (Parcela 2 / AlmΓ‘cigo).
  • Configurable target ranges (temperature, humidity, CO2, pH, EC, VPD) for day/night, persisted across sessions.

IvY Ecosystem

  • 14 specialized agent briefs with roles, responsibilities and collaboration maps.
  • Sprint-planning and task-tracking coordination documents.
  • Mermaid diagrams of data flow, agent interactions and decision logic.

🧰 Tech Stack

Layer DataRabbit (data_rabbit/) Rabbit Data (src/)
Language TypeScript TypeScript
UI React 18 React 19
Charts Recharts 2.x Plotly.js
Styling Tailwind CSS 3.x CSS3
CSV parsing PapaParse Custom parser
Storage In-memory / persistent hooks IndexedDB (idb)
Icons Lucide React β€”
Tooling Create React App, ESLint Create React App, ESLint

Helper scripts (data_rabbit/analyze_lights.py, data_rabbit/analyze.sh) provide quick Python/CLI analysis of light-state columns.


πŸš€ Getting Started

Requires Node.js 18+ and npm.

DataRabbit β€” advanced dashboard

cd data_rabbit
npm install
npm start            # http://localhost:3000

Load the included data_rabbit/P2.csv (or your own export) from the sidebar; configure crops per island as needed.

Rabbit Data β€” core monitor

npm install
npm start            # http://localhost:3000

Upload a CSV from the start screen; data is processed and stored in your browser's IndexedDB.

Expected CSV format

Time-series rows with one column per island and parameter, e.g.:

Time,I1 Temperatura Promedio,...,I1 VPD,...,CO2 Promedio,I1 Estado Luz,...,Week Number
07-04-25 0:00,19.4,...,0.81,...,623,1,...,15

No environment variables or API keys are required β€” both apps run entirely client-side.


πŸ“ Project Structure

IvY_agents/
β”œβ”€β”€ src/                      # Rabbit Data β€” core monitor (React 19 + IndexedDB)
β”‚   β”œβ”€β”€ components/           # FileUpload, DataTable, TargetsConfig, navigation
β”‚   β”œβ”€β”€ services/             # dataProcessor.ts, db.ts (IndexedDB)
β”‚   └── types/                # TypeScript domain models
β”œβ”€β”€ data_rabbit/              # DataRabbit β€” advanced dashboard (React 18 + Tailwind + Recharts)
β”‚   β”œβ”€β”€ src/components/        # Weekly analysis, evolution, comparison, charts
β”‚   β”œβ”€β”€ src/utils/            # dataProcessor.ts, constants.ts (crop targets)
β”‚   β”œβ”€β”€ src/hooks/            # usePersistentState
β”‚   β”œβ”€β”€ analyze_lights.py     # Python helper for light-state analysis
β”‚   └── P2.csv                # Example sensor dataset (Parcela 2)
β”œβ”€β”€ agent1/                   # IvY Ecosystem β€” 14 AI agent specifications
β”‚   β”œβ”€β”€ IvY-Master.md         # Coordinator agent
β”‚   β”œβ”€β”€ backend-experts/      # JS-Algorithms, NodeJS-Excel
β”‚   β”œβ”€β”€ domain-experts/       # VPD-Scientist, Crop-Optimizer, AgroUrbana-Analyst
β”‚   β”œβ”€β”€ frontend-experts/     # React19, TypeScript, Recharts, CSS
β”‚   β”œβ”€β”€ quality-experts/      # Jest-Tester, Agro-QA
β”‚   └── coordination/         # sprint-planning, task-tracker
β”œβ”€β”€ public/                   # CRA static assets
└── LICENSE

Component-level documentation lives in data_rabbit/README.md and agent1/README.md (Spanish).


🌾 Domain Context

Built for AgroUrbana, a Chilean vertical-farming company, this suite analyzes Parcela 2 β€” a hydroponic system of 6 growing islands across two sectors, cultivating lettuce (Jagger, Bassari, Flandria, Scamander) and basil. The goal is to keep each crop within its optimal VPD, temperature, humidity and CO2 envelope through the germination β†’ seedling β†’ fattening β†’ harvest cycle, prioritizing environmental stability to maximize yield.


πŸ“„ License

Distributed under the MIT License. See LICENSE for details.


IvY Ecosystem β€” turning sensor data into intelligent decisions for the future of vertical farming.

About

Vertical-farming intelligence suite for AgroUrbana: a 14-agent AI design system (IvY) plus React + TypeScript dashboards for VPD, temperature, humidity and CO2 analysis of hydroponic sensor data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages