Evidence-driven agroforestry planning from real field boundaries to explainable planting systems, irrigation networks, fire planning and long-term costs.
Open GrowUp · Case study · Issues · Discussions
GrowUp is a map-first decision-support environment for agroforestry. It combines field geometry, environmental evidence, species knowledge and operational constraints in one inspectable workflow. Every generated plan remains editable and traceable to its inputs, assumptions and model version.
GrowUp supports planning decisions; it does not replace field surveys, laboratory soil analysis, water-source verification, permits or local professional review.
The workspace starts from an explicit user-defined boundary. It validates the geometry, clips evidence to the field and keeps the map beside the current planning decision.
The public application is available in English and Italian. Anonymous users can analyse and design without creating an account; authentication adds private projects, immutable revisions and controlled sharing.
- Define the field — draw or import a boundary, exclusions, access paths, water points and protected vegetation.
- Read the evidence — combine terrain, historical climate, soil, subsurface, satellite and surrounding-context signals.
- Plan the system — rank species against evidence, objectives, native-range information and invasive-species safeguards.
- Generate the design — create deterministic planting alternatives with succession, spacing, crown growth and machinery constraints.
- Engineer water — size zones, route editable pipes, check pressure and flow, and produce a bill of materials.
- Plan for fire — add firebreak geometry, inspect official fire-weather context and maintain an operational checklist.
- Estimate costs — calculate plants, labour, irrigation, water, energy and versioned long-term maintenance.
- Review and share — run a formal coherence review, export GeoJSON/CSV and create revocable view or review links.
| Area | Capabilities |
|---|---|
| Field intelligence | Editable Google satellite geometry, PostGIS validation, Open-Meteo climate, SoilGrids, Sentinel-1/2, land cover, depth-to-bedrock and groundwater context |
| Agroforestry design | Evidence-ranked species, syntropic succession, six planting systems, full-field or perimeter modes, deterministic layouts and growth uncertainty |
| Operational planning | Irrigation hydraulics, firebreaks, machinery access, procurement quantities, planting schedules and maintenance workload |
| Explainability | Source register, confidence levels, model versions, assumptions, conflicts and reproducible calculation snapshots |
| Collaboration | Private projects, immutable revisions, expiring share links, map-pinned comments and approval/change requests |
| AI assistance | Provider-agnostic, OpenAI-compatible planning proposals and formal review; all project mutations are validated and require confirmation |
flowchart LR
UI["React + Vite workspace"] --> API["Express API"]
API --> GEO["PostGIS geometry"]
API --> DOCS["Mongo-compatible project store"]
API --> EVIDENCE["Climate, soil, satellite and map providers"]
API --> AI["OpenAI-compatible assistant"]
API --> EXPORTS["GeoJSON, CSV and printable schedules"]
The production application runs as a two-stage Node.js container on Google Cloud Run. PostGIS is authoritative for spatial validation and measurement; project documents and immutable revisions remain separate from the geometry database.
- Node.js 20+
- Docker with Compose
- A Google Maps browser key authorized for the local origin
git clone https://github.com/meaningtech/growup.git
cd growup
npm ci
docker compose up -d
npm run db:migrateCreate .env:
GOOGLE_MAPS_BROWSER_API_KEY=your_browser_keyGROWUP_SKIP_DATABASE_MIGRATION=1Then start the API and Vite development server:
npm run devOpen http://127.0.0.1:5174. The default local PostGIS connection is postgresql://growup:growup@127.0.0.1:55432/growup.
The core workflow intentionally starts with an empty map. Import or draw a field; no localized demo parcel is bundled into the application.
| Variable | Enables |
|---|---|
GOOGLE_MAPS_SERVER_API_KEY | Credential-protected geocoding fallback |
MONGODB_URI + AUTH_SESSION_SECRET | Accounts, private projects, revisions and sharing |
GOOGLE_OAUTH_CLIENT_ID | Google sign-in |
AI_PROVIDER_API_KEY | Planning assistant and formal AI review |
AI_PROVIDER_BASE_URL + AI_PROVIDER_MODEL | A different OpenAI-compatible provider or model |
ALLOWED_ORIGINS | Explicit production CORS allowlist |
Credentials belong in local environment files or a secret manager. Never commit them or include them in screenshots, fixtures or exports.
npm run typecheck
npm test
npm run build
npm run test:e2eUseful focused commands:
GROWUP_BASE_URL=https://your-deployed-origin.example npm run test:acceptance
GROWUP_SCREENSHOT_URL=https://growup.earth npm run docs:screenshotsLive evidence and assistant tests depend on their upstream providers and are opt-in. The credential-free CI gate runs type checking, unit and integration tests, a production build and a focused browser acceptance suite.
GrowUp distinguishes observed data, modelled data, deterministic outputs, assumptions and unknowns. Environmental, botanical and cost values shown to users must retain a source, observation date or version and confidence level. Unknown provider values remain unknown; they are never replaced by invented defaults.
The design-ready catalogue is a curated planning subset, not a claim of universal ecological authority. Jurisdiction-level nativeness and invasiveness are reported only where supporting evidence exists.
- Data sources and provenance
- Product and implementation plan
- Design systems and solar model
- Maintenance model
- Acceptance audit
- Machine-readable product overview
Issues and pull requests are welcome. Start with CONTRIBUTING.md, keep technical decisions evidence-backed and include tests for behavior changes. Security reports should follow SECURITY.md instead of being opened publicly.
GrowUp is developed by meaningtech, where technology supports human judgment and creates measurable value for institutions, businesses and citizens.
GrowUp is available under the MIT License. Copyright © 2026 meaningtech.


