Where's your garden?
Soil
Auto-fetched from ISRIC SoilGrids for your coordinates. You can override it below if you've had your soil tested.
Draw your garden
Set a scale first: enter how many metres one grid square represents. Optionally draw your overall garden/yard outline for reference, then draw beds as rectangles or freehand shapes inside it. Switch to Select to click any shape: drag its corner handles to reshape it, or drag its body to move it. Hold Shift while drawing/dragging to constrain (square rectangle, 45Β° angles, axis-locked move); hold Ctrl (β on Mac) to snap to the grid.
Set which way is north in your drawing above β it's used to work out seasonal sun angles and shading between plants.
What do you want to grow?
π Explore what grows here
Search and filter the plant database against your site's climate and soil from step 1.
| Plant name | Sun needs | Days to harvest | Plant height | Harvests per plant | Harvests per year |
|---|
βΉοΈ How feasibility is determined
The Feasibility filter above (and the badges on the Feasibility & Planting Calendar tab) come from checking each plant against your site in this order:
- Season length β using your site's average last-spring and first-fall frost dates (step 1), whether there's actually a window long enough for that plant's frost tolerance and days-to-maturity to fit. This is what mainly drives the verdict.
- Timing vs. what you asked for β even where a valid growing window exists, whether the resulting harvest actually falls within the months you requested.
- Soil pH β checked against the plant's preferred range, but only as a warning, not a hard fail (it's fixable with amendments, a raised bed, or a custom potting mix per bed).
- Sun exposure β also a warning rather than a hard block: whether a bed's marked sun exposure meets the plant's needs.
In short: the verdict is mostly about climate/timing, while soil and sun are advisory warnings layered on top. It doesn't know about anything you control yourself, like a custom soil pH per bed or supplemental grow lights β it only judges by what you've told it (frost dates, soil, sun exposure).
π Add a new plant from an external database
Not in the list above? Search OpenFarm (free, no signup) or Perenual (free API key, much broader β good for flowers/ornamentals like marigold) to find and add fruit, veg, herbs, or flowers. These only return a name/picture match β you'll confirm the actual growing details (sun, spacing, days to maturity, etc.) before it's added to your plant list.
Add manually
Your wishlist
Feasibility & planting calendar
Based on your site's frost dates, temperatures, and soil, here's what's realistic and when to plant it (including successive plantings for continuous harvest). The full maintenance task list is on the Maintenance Calendar tab.
Populate your beds
Live sensors (future work)
Not connected to hardware yet. This panel stores config for ESPHome sensor
nodes (sun/light and soil moisture) so that once real devices are on your
network, readings can replace the manual sun-exposure and soil settings
above. See js/esphome.js for the integration plan.
Maintenance calendar
Every task for every plant on your wishlist, in order β starting seeds indoors, thinning, fertilizing, staking, harvesting, and clearing beds when a planting's done. Recalculates from the Feasibility tab's results, so run Calculate there first. Plants that aren't feasible for your requested harvest window still get a best-effort schedule here (marked "β οΈ approximate") instead of being left out β check the Feasibility tab for why.