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 Type | Characteristics | Common In |
|---|---|---|
| Sandy | Fast draining, warms quickly, low nutrients | Coastal areas, desert regions |
| Clay | Slow draining, retains nutrients, compacts | Midwest, river valleys |
| Loam | Balanced drainage and retention, ideal for most plants | Garden centers (purchased) |
| Silt | Fine texture, retains moisture, fertile | Floodplains |
| Peat | Acidic, high organic matter, retains moisture | Purchased mixes |
| Custom Mix | User-defined blend | Raised 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:
- Click Add Plant in your plot
- Click Custom Plant at the bottom of the search results
- Enter the plant name, variety, and growing data
- 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
- Open the plot view
- Tap the Batch button in the toolbar
- Select the operation type
- Optionally add notes or photos (shared across all created events)
- 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
| Stage | Description | Triggered By |
|---|---|---|
| Germination | Seed has been sown, waiting for sprout | Adding a plant with “sowed” status |
| Vegetative | Plant is growing leaves and stems | Automatic after germination period |
| Flowering | Plant is producing flowers | Manual status update or logging a “flowering” note |
| Fruiting | Flowers have been pollinated, fruit developing | Manual status update |
| Harvest | Plant is producing harvestable yield | First harvest event logged |
| Dormant | Plant has entered dormancy (perennials) | Manual status update or end of season |
| Archived | Plant record is preserved but no longer active | Manual 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:
- Open the plant’s detail view
- Tap Archive
- 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
- Harvest Tracking: Analyze yields and compare varieties
- Companion Planting: Deep dive into plant relationships
- Seed Inventory: Track seeds from packet to plot