Overview

Plots and plants are the structural foundation of garden.gg. Plots model your physical growing spaces, and plants represent the individual specimens growing within them. Together with the grid layout system, they give you a visual, data-rich map of your garden that evolves throughout the season.

This guide covers plot types, plant management, the grid layout, batch operations, and plant lifecycle tracking.

Plot Types

garden.gg supports five plot types. Choose the one that best matches your real-world growing setup.

Raised Bed

The most popular plot type among garden.gg users. Raised beds are framed growing areas elevated above ground level, typically filled with imported soil.

When to use: You have a constructed raised bed with defined dimensions.

Typical dimensions: 4x4, 4x8, or 3x6 feet. garden.gg supports any custom dimensions.

Advantages for tracking:

  • Clean grid layout with defined boundaries
  • Easy to calculate yield per square foot
  • Soil composition is consistent and known

In-Ground

Traditional garden rows or sections planted directly in native soil.

When to use: You are growing directly in the earth without raised frames.

Typical setup: Define the area you are actively cultivating. For row gardens, create one plot per row or one plot for the entire section.

Advantages for tracking:

  • Works well for large-scale gardens
  • Track soil amendments over time as you improve native soil
  • Compare performance across different areas of your property

Container

Pots, grow bags, window boxes, self-watering planters, or any portable growing vessel.

When to use: You are growing in a movable container of any size.

Dimensions: Enter the diameter for round containers or length and width for rectangular ones. Depth is optional but useful for root crop tracking.

Advantages for tracking:

  • Track which container sizes work best for each plant type
  • Compare soil mixes across containers
  • Log location changes (moving containers for sun exposure)

Greenhouse

An enclosed growing space with some level of climate control, from a simple cold frame to a full walk-in greenhouse.

When to use: You have a covered growing structure that extends your season.

Advantages for tracking:

  • Pair with environment monitoring (temperature, humidity) on Bloom+ plans
  • Track how greenhouse growing compares to outdoor yields
  • Season extension: log plants that would not survive outdoors in your zone

Indoor

Grow tents, shelving units with grow lights, windowsill gardens, or any interior growing space.

When to use: You are growing plants indoors under artificial or window light.

Advantages for tracking:

  • Track light schedules and their effect on growth
  • Pair with environment monitoring for temperature, humidity, and VPD
  • Year-round growing means year-round logging and streak maintenance

Plot Properties

Every plot has configurable properties that drive recommendations and analytics.

Dimensions

Enter the width and length of your plot in feet or meters (set your preference in account settings). The grid layout uses these dimensions to create a proportional visual representation.

For irregularly shaped plots, use the closest rectangular approximation. The dimensions primarily affect:

  • Grid cell count and layout
  • Square footage calculations for yield analytics
  • Plant spacing recommendations and warnings

Soil Type

Recording your soil type helps garden.gg provide relevant recommendations:

Soil TypeCharacteristicsCommon In
SandyFast draining, warms quickly, low nutrientsCoastal areas, desert regions
ClaySlow draining, retains nutrients, compactsMidwest, river valleys
LoamBalanced drainage and retention, ideal for most plantsGarden centers (purchased)
SiltFine texture, retains moisture, fertileFloodplains
PeatAcidic, high organic matter, retains moisturePurchased mixes
Custom MixUser-defined blendRaised beds, containers

For custom mixes, add details in the plot notes. Example: “60% compost, 30% vermiculite, 10% peat moss.”

Sun Exposure

How much direct sunlight the plot receives on a typical day:

  • Full Sun (6+ hours): Required for tomatoes, peppers, squash, melons
  • Partial Sun (4-6 hours): Suitable for beans, peas, carrots, beets
  • Partial Shade (2-4 hours): Good for lettuce, spinach, herbs, kale
  • Full Shade (< 2 hours): Limited to shade-tolerant ground covers and some herbs

garden.gg uses this information to display warnings when you place a sun-loving plant in a shady plot.

Irrigation Method

Optionally record how you water each plot. This is informational and helps you correlate watering methods with plant performance:

  • Manual: Hose, watering can, or hand watering
  • Drip: Drip irrigation system with emitters
  • Sprinkler: Overhead sprinkler or spray system
  • Self-watering: Self-watering container or wicking bed
  • Rain-fed: No supplemental irrigation

The Plant Database

garden.gg includes a curated database of over 200 plants with variety-specific growing data.

What is Included

Each plant entry contains:

  • Common name and scientific name: Searchable by either
  • Variety: Specific cultivar (e.g., “Cherokee Purple” under Tomato)
  • Days to germination: Typical time from seed to sprout
  • Days to maturity: Time from transplant (or emergence) to first harvest
  • Spacing: Recommended distance between plants in inches/cm
  • Planting depth: How deep to sow seeds
  • Sun requirement: Full sun, partial sun, partial shade, or full shade
  • Water needs: Low, moderate, or high
  • Companion planting data: Good and bad companions
  • Hardiness zones: Which USDA zones the plant thrives in

Searching for Plants

The search function matches against common names, scientific names, and variety names. Some search tips:

  • Search “tomato” to see all tomato varieties
  • Search “Cherokee” to find Cherokee Purple tomato specifically
  • Search “Lactuca” to find plants by scientific name
  • Use the filters to narrow by plant type (vegetable, herb, fruit, flower)

Adding Custom Varieties

If your specific variety is not in the database, you can create a custom entry:

  1. Click Add Plant in your plot
  2. Click Custom Plant at the bottom of the search results
  3. Enter the plant name, variety, and growing data
  4. The custom plant is saved to your account and available in future searches

Custom plants support all the same fields as database plants. If you have the seed packet, use the Plant Identification feature to scan it and auto-fill the growing data.

Grid Layout

The grid layout is a visual representation of your plot that shows where each plant is positioned.

How the Grid Works

When you create a plot with dimensions, garden.gg generates a grid scaled to your plot size. Each cell represents approximately one square foot (or 30cm x 30cm in metric). Plants are placed on the grid by dragging them to their position.

The grid serves several purposes:

  • Spatial planning: See where everything is before you plant
  • Spacing validation: garden.gg warns if plants are too close based on their recommended spacing
  • Companion planting indicators: Visual cues show which neighbors are beneficial or harmful
  • Record keeping: Know exactly where you planted each variety for rotation planning

Companion Planting Indicators

The grid uses color-coded borders to indicate companion planting relationships:

  • Green border: Good companions. These plants benefit each other through pest deterrence, nitrogen fixing, or other mechanisms.
  • Red border: Bad companions. These plants compete for resources, attract each other’s pests, or inhibit each other’s growth.
  • Gray border: Neutral. No known beneficial or harmful interaction.

Hover over (or tap on mobile) a companion indicator to see the specific relationship details.

Drag-and-Drop Placement

Adding plants to the grid uses drag-and-drop on all platforms:

  • Web: Click and drag the plant to a grid cell
  • iOS: Long press and drag to position
  • Android: Long press and drag to position

You can reposition plants at any time by dragging them to a new cell. The event history stays with the plant regardless of its grid position.

Grid Tips

  • Leave empty cells between plants for pathways and access
  • Use the grid to plan successive plantings — place all your spring crops, then plan where summer crops will go
  • Take a screenshot of your grid at the start of each season for reference
  • Compare grid layouts year over year to improve companion groupings and spacing

Batch Operations

When you need to perform the same action across an entire plot, batch operations save time.

Available Batch Operations

  • Water All: Log a watering event for every plant in the plot simultaneously
  • Fertilize All: Apply a fertilizer event to the entire plot
  • Mark as Harvested: Batch-mark multiple plants as harvested (each gets its own event that you can edit individually for weight)

Using Batch Operations

  1. Open the plot view
  2. Tap the Batch button in the toolbar
  3. Select the operation type
  4. Optionally add notes or photos (shared across all created events)
  5. Confirm

Each plant in the plot receives its own individual event record. Analytics stay accurate at the per-plant level even when events are created in batch.

Plant Lifecycle

garden.gg tracks plants through their complete lifecycle from sowing to harvest and beyond.

Lifecycle Stages

StageDescriptionTriggered By
GerminationSeed has been sown, waiting for sproutAdding a plant with “sowed” status
VegetativePlant is growing leaves and stemsAutomatic after germination period
FloweringPlant is producing flowersManual status update or logging a “flowering” note
FruitingFlowers have been pollinated, fruit developingManual status update
HarvestPlant is producing harvestable yieldFirst harvest event logged
DormantPlant has entered dormancy (perennials)Manual status update or end of season
ArchivedPlant record is preserved but no longer activeManual archive action

Stage Transitions

Most stage transitions happen automatically based on your events and the plant’s growing data:

  • Germination to Vegetative: Automatic when the plant’s “days to germination” period has passed
  • Vegetative to Harvest: Triggered by your first harvest event on the plant

You can manually override stages at any time from the plant’s detail view. This is useful when garden.gg’s automatic timing does not match your actual growing conditions.

Archiving Plants

When a plant is finished for the season (annuals after final harvest, plants that died, crops you pulled out), archive it:

  1. Open the plant’s detail view
  2. Tap Archive
  3. Optionally add a final note about the plant’s overall performance

Archived plants retain their complete event history and are included in season analytics. They just no longer appear in your active plot grid. You can view archived plants in the plot’s archive tab.

Deleting Plants

Deleting a plant permanently removes it and all associated events. This action cannot be undone. Use delete only for plants added by mistake. For plants that have completed their lifecycle, use archive instead so their data contributes to your analytics.

Managing Multiple Plots

As your garden grows, you will likely manage multiple plots. Here are strategies for staying organized:

Naming Conventions

Use consistent, descriptive names for your plots:

  • By location: “North Bed”, “South Fence Row”, “Patio Containers”
  • By number: “Bed #1”, “Bed #2”, “Bed #3”
  • By purpose: “Salad Greens”, “Tomato Row”, “Herb Garden”

Plot Ordering

Plots can be reordered on your garden’s dashboard by dragging them into your preferred arrangement. Put your most frequently accessed plots at the top.

Seasonal Plot Rotation

Track crop rotation by comparing what you planted in each plot across seasons. The archive system preserves plant records from previous seasons, making it easy to see that Bed #1 had tomatoes last year and should have legumes this year.

API Reference

Create a Plot

POST /api/v1/gardens/{garden_id}/plots
{
  "name": "Raised Bed #2",
  "type": "raised_bed",
  "width_feet": 4,
  "length_feet": 8,
  "soil_type": "loam",
  "sun_exposure": "full_sun",
  "irrigation": "drip"
}

Add a Plant

POST /api/v1/plots/{plot_id}/plants
{
  "plant_type_id": "pt_tomato_cherokee",
  "planted_at": "2026-04-15T00:00:00Z",
  "grid_x": 2,
  "grid_y": 3,
  "status": "transplanted"
}

List Plants in a Plot

GET /api/v1/plots/{plot_id}/plants?status=active

Archive a Plant

PATCH /api/v1/plants/{plant_id}
{
  "status": "archived",
  "notes": "Season complete. Good producer, 12 lbs total."
}

Next Steps