Run 20260805_165137 Filed August 5, 2026
← All reports

A balcony that pays
you back — what
do you actually build?

Illustrative scenario — the user
A Saturday morning in late August. Alex picks the last of the season's tomatoes from his city balcony. The entire harvest fits in one small bowl. Months of watering, feeding and worrying — and roughly $150 of soil, seeds and supplies — for produce he could have bought for $20.Second year running. The disappointment is the product opportunity.
Carried from MAP

MAP found a defensible niche — container yield optimization — but a financial model that runs out of cash in month 19. Caution, 6/10.

What BUILD answers

Can this be built with the specs and capacity you have? MVP spec, user stories, screen blueprints, architecture, and a 30-day sprint.

Target ICPEnthusiastic urban novices · Gen Z/Millennial balcony growers BuyerThe gardener themselves — individual consumer
BUILD verdict — can this be built with the specs and capacity we have?
Caution
The product strategy is exceptionally strong. The operational plan behind it is not — and the architecture step says don't write code yet.
7
Out of ten · Confidence high
The spec is ready.

A clear ICP, a 'Yield Maximizer' wedge, 5 MUST features, 14 stories and 9 screens — all dev-ready.

The build is gated.

Architecture returned no_build: the core value risk is behavioural, and a concierge test proves it for the cost of ten PDFs.

The money doesn't add up.

The financial plan is underfunded for its own headcount assumptions — resolve before committing to a full build.

Riskiest assumption — test this first

That urban gardeners will trust and follow a prescriptive, algorithmically-generated planting plan over their own trial and error.

Everything downstream — the engine, the wizard, the schedule — is worthless if the plan gets read and ignored.

Biggest build risk

The yield-optimization algorithm may not beat a gardener's intuition by a margin anyone can feel.

Complex to develop, hard to prove. If the concierge test passes and the algorithm still can't outperform instinct, the value proposition collapses at the second hurdle.

Recommendation — one call, across four tiers
ScanPivot4/10Anchored MapCaution6/10Revised here BuildCaution6/10Held LaunchNot run
Recommendation · anchored once, revised with reason
Caution.6 / 10 · confidence medium

Why it moved. SCAN anchored this at Pivot, 4/10 — real pain, but an undifferentiated feature in a hyper-competitive market. MAP revised it upward: the ‘Yield Maximizer’ wedge creates a category — container yield optimization — that generalist competitors are not incentivized to serve. The pain SCAN found did not change; the shape of the offer against the field did, and that is a positioning finding rather than a new fact about demand.

Tier readiness — each tier’s own call, not the recommendation
Map
Caution6/10

Cash goes negative in month 23 despite $750,000 — the plan runs out of money before the model breaks even; TAM is 153× the SAM, so it is describing a different market than the product serves. Size against the SAM, or widen the SAM's definition.

Build
Caution7/10

Architecture says no_build — the cheapest real-world test comes before an MVP.

Launch

No blockers.

Build score
7/10
Recommendation
Don't build
Test the assumption cheaper first.
MUST stories
7/14
MVP — after the test passes
6–8 wks
Solo · 3–4 weeks with a team.
01
The gate

Don't build yet.

Architecture recommendation · no_build

Test the riskiest assumption with a cheaper test first.

The core value risk is whether gardeners will trust and follow prescriptive plans. A concierge test — manually generating and delivering plans — is the cheapest way to validate it. Building custom software now is premature.

02
What you'd build

The MVP in one line.

A tool that generates a prescriptive, yield-optimized planting plan and succession schedule for urban gardeners, based on their specific container dimensions and desired crops.

MVP features
5
User flows
3
Screens specified
9
Regulatory risk
Medium
03
Next 7 days

Evidence, not code.

Secure commitments from 10 'Enthusiastic Urban Novices' — recruited from r/BalconyGardening — to join the concierge yield-maximization test by submitting their container and crop details.

!
Kill threshold

Fewer than 2 of 10 participants plant according to the plan. That is low willingness to follow prescriptive advice — and it invalidates the core value proposition.

04
Readiness

Where each tier stands.

Map
Caution6/10

Cash goes negative in month 23 despite $750,000 — the plan runs out of money before the model breaks even. TAM is 153× the SAM.

Build
Caution7/10

Architecture says no_build — the cheapest real-world test comes before an MVP.

Launch

No blockers.

Each tier answers only its own question. An idea can be a PIVOT overall and still be perfectly buildable.

Tier question · What to build and how?Outcome · MVP spec + stories + screens + architecture + 30-day sprint
01
Architecture recommendation

Don't build yet.

no_build · the cheapest real-world test comes before an MVP

Prove that gardeners follow the plan before you write the code that generates it.

The core value risk is behavioural, not technical. A concierge test — manually generating and delivering plans — is the cheapest way to validate it. The kill threshold determines whether engineering investment is warranted at all.

The cheapest test

Recruit 10 balcony gardeners from Reddit. Collect exact planter dimensions, sun exposure and desired vegetables via a simple form. Create and email each a hyper-optimized PDF planting map and a 3-month succession schedule. Support by email.

Signal · and kill threshold

Watch for: a photo of their container planted to the map within 3 weeks.
Kill at: fewer than 2 of 10 plant according to the plan.

§
Read the estimates conditionally

Everything downstream in this report — timings, sprint, screens — describes what an MVP would take if the concierge test proves the assumption. Nothing here is a schedule to start this week.

Build time · solo
6–8 wks
Only after the test passes.
Build time · team
3–4 wks
Only after the test passes.
Total user stories
14
7 MUST · 7 SHOULD · 0 COULD.
User flows
3
Onboarding · primary action · domain.
Scalability & security

Not assessed — not applicable on the no_build path. Both are scoped after the concierge test returns a build signal.

02
Product definition

What it is, and what it refuses to be.

The problem

Health-conscious urban gardeners frequently achieve disappointing yields on their balconies. They struggle to adapt traditional gardening methods to containers — inefficient plant density, suboptimal rotation, meagre harvests that don't justify the time. The result is frustration and a sense that the effort was meaningless.

Success definition

80% of enthusiastic urban novice gardeners can increase their edible harvest by a measurable amount using the Yield Maximizer.

Target user · target buyer

Enthusiastic urban novice gardeners growing edible plants in containers on balconies. They are also the buyer — an individual consumer, not a business.

When
I am planning my small balcony garden and realize generic advice doesn't apply to my containers, leading to consistent low yields,
I want
a clear, visual plan tailored to my exact planter dimensions and specific crops, to maximize the food I can grow,
So I can
confidently achieve a significant, meaningful harvest from my limited space.
Non-goals — what is explicitly not being built
General garden planning for in-ground beds

Maintains a hyper-niche focus on container-specific yield maximization.

A comprehensive plant database

Avoids feature bloat; leverages existing knowledge bases elsewhere.

Soil chemistry or nutrient tracking

Keeps focus on planting strategy, away from technical complexity for novices.

Watering-system integrations

Prevents procurement risk; core planning stays the product.

A second mobile platform

Keeps initial scope tight.

Social sharing or community features

Prioritizes core functionality over engagement metrics.

Decorative gardening or minimal herb growing

These segments have low urgency for yield optimization.

Strategic context carried from MAP
  • Target ICP — new or relatively new urban dwellers (typically Gen Z/Millennials) living in apartments and condos with balconies, motivated to grow food but frustrated by low container yields.
  • Positioning wedge — a tool exclusively focused on the tangible outcome of getting more food from small spaces, de-emphasizing 'planning' and emphasizing 'harvesting'.
03
MVP scope

Three differentiators, five features.

Functional
Container-Native Yield Engine

Unlike generic planners built for garden beds, the engine optimizes density, companion planting and succession specifically for the constraints of common container sizes — maximizing edible yield per square foot.

Process
Prescriptive Plan Generation

Eliminates the blank canvas. Users input their constraints and receive one optimized plan to follow, cutting cognitive load and decision fatigue.

Strategic
Harvest ROI Guidance

Steers users toward high-value, high-yield crops that repay the effort and space — directly addressing the 'not worth it' harvest.

The five MVP features

Container-First Setup

Users define their garden by picking standard container types and dimensions — a 10-inch round pot, a 24×12 rectangular planter — not by drawing an abstract plot. Builds the core experience around real physical constraints.

Optimized Planting Map Generator

Generates a visual, top-down grid for each container showing optimal placement for each plant. The core deliverable and the 'aha' moment.

Guided Plan Wizard

A three-step flow — add containers, select plants, get plan — that turns planning from a creative task into a simple input/output.

Automated Succession Schedule

A time-based list of key actions for continuous harvesting: Week 8 — harvest lettuce, plant bush beans in the empty slot. Extends optimization across the season.

High-Value Crop Selector

Visual cues in plant selection highlight crops that offer high yield and value in containers, so choices are strategic upfront.

04
Feature backlog · RICE

Five MUSTs, one override.

1
Optimized Planting Map Generator Must

Automatically generates a visual, top-down grid for each container showing optimal placement for each plant.

Reach1000Impact3Conf80%Effort10.0w
240
2
High-Value Crop Selector Must

UI uses visual cues to highlight crops that offer high yield and value for container gardening.

Reach1000Impact2Conf80%Effort1.5w
1067
3
Guided Plan Wizard Must

A step-by-step flow — add containers, select plants, get plan — that generates the planting map.

Reach1000Impact2Conf80%Effort3.0w
533
4
Container-First Setup Must

Users define their garden by selecting from a list of standard container types and dimensions.

Reach1000Impact1Conf80%Effort2.5w
320
5
Automated Succession Schedule Must

Generates a simple, time-based list of key actions for continuous harvesting.

Reach800Impact2Conf80%Effort5.0w
256
Why rank 1 isn't the top RICE score

Scores assume 1,000 target users in year one. The Optimized Planting Map Generator ranks last on raw RICE because of its 10-week effort — but the product does not exist without it, so it is promoted to rank 1 as a JTBD anchor override. The Automated Succession Schedule stays MUST with a blocking dependency: it delivers the 'maximize food' half of the job over a full season.

Per-feature rationale
  • #1 Optimized Planting Map Generator — the core 'aha' moment and direct fulfilment of the JTBD. Priority overridden to rank 1 despite the lower raw score.
  • #2 High-Value Crop Selector — high impact for low effort; carries the Harvest ROI Guidance differentiator. Ranks highest by raw RICE.
  • #3 Guided Plan Wizard — essential for ease of use and reducing cognitive load; supports Prescriptive Plan Generation.
  • #4 Container-First Setup — foundational for the Container-Native Yield Engine. Every user must complete it to reach the core functionality.
  • #5 Automated Succession Schedule — supports continuous harvesting and maximizes yield over time; essential to the MVP's proposition despite a moderate score.
05
User flows

Three journeys, end to end.

1 · New user onboarding & initial garden setup

Onboarding · Enthusiastic Urban Novice

Trigger — user successfully registers or logs in for the first time.

#User actionSystem responseUI state
1Clicks 'Get Started' on the welcome screen.Initiates guided setup sequence for garden context.Step 1/3 — balcony dimensions (width, depth, Next).
2Enters balcony width and depth and clicks Next.Validates numeric input; stores balcony size on the profile.Step 2/3 — planter type selection with visual examples.
3Selects 'Rectangular', enters dimensions, clicks Add Planter.Validates dimensions; adds planter to the virtual garden inventory.Step 3/3 — planter list, Add Another, Finish Setup.
4Clicks Finish Setup.Completes the onboarding flag; navigates to the dashboard.Dashboard empty state · CTA 'Create Your First Planting Plan'.

User sees their personalized garden dashboard with a prompt to create their first planting plan.

Edge cases
  • Invalid dimensions entered — inline error 'Please enter valid measurements (e.g. 2.5m or 8ft)' and Next disabled.
  • Proceeding with no planters — toast 'Please add at least one planter to get started'; navigation prevented.
Error states
  • Out-of-range input — 'Invalid dimension: please enter a positive number' → user corrects input.
  • Network error during persistence — 'Could not save garden details. Please try again.' → user retries or refreshes.

2 · Create and view a yield-optimized planting plan

Primary action · Enthusiastic Urban Novice

Trigger — user clicks 'Create New Planting Plan' from the dashboard.

#User actionSystem responseUI state
1Clicks 'Create New Planting Plan'.Navigates to the plan creation workflow.Step 1/3 — select planters (checkbox list, Add New Planter).
2Selects one or more saved planters, clicks Next.Stores selected planters for the current plan.Step 2/3 — choose crops (search, icon list, checkboxes).
3Searches 'Tomato' and 'Basil', selects both, clicks Next.Validates compatibility and season; starts plan generation.Loading — 'Generating your optimal planting plan…'
4System progresses automatically.Runs the yield maximization algorithm on density and companion planting; persists the plan.Plan view — grid placement, expected yield, Print/Export.

User views a detailed, visual, yield-optimized planting plan for their selected planters and crops.

Edge cases
  • Incompatible crops in one planter — 'Some selected crops may not be ideal companions. We've optimized as best as possible, but consider separate planters.'
  • Crops exceed the planter's realistic capacity — 'Limited space for optimal growth: consider fewer crops or larger planters', with suggestions.
Error states
  • No crops selected — 'Please select at least one crop to create a plan.'
  • Algorithm/backend failure — 'Oops! We encountered an issue generating your plan. Please try again later.' with retry.
  • Network error on retrieval — 'Could not load plan. Check your internet connection.'

3 · Add or edit planter details

Domain specific · Enthusiastic Urban Novice

Trigger — user opens 'My Planters', or clicks 'Add New Planter' from the plan creation flow.

#User actionSystem responseUI state
1Opens 'My Planters' or clicks 'Add New Planter'.Displays existing planters, or a form to add one.Planter list — grid of planters with name, dimensions, Edit.
2Clicks Add New Planter.Opens the planter input form.Modal step 1/2 — planter type radio group with visuals.
3Selects 'Round', clicks Next.Configures the next step's fields for the chosen type.Modal step 2/2 — name, diameter, depth, Save Planter.
4Enters name and dimensions, clicks Save Planter.Validates, stores, closes the modal.Planter list updated · success toast.

The planter's details are saved and available for use in creating planting plans.

Edge cases & errors
  • Duplicate planter name — 'Planter name already exists. Please choose a unique name.'
  • Zero or negative dimensions — 'Dimension must be a positive number.'
  • Missing required fields — 'Please fill in all required fields.'
  • Backend storage error — 'Could not save planter. Please try again.'

Coverage — These three flows carry the essential journey: initial setup, defining the core planting assets, and using the primary feature to generate a yield-optimized plan.

06
User stories

Fourteen stories, four epics.

Total stories
14
MUST
7
50% of the backlog.
SHOULD
7
50% of the backlog.
COULD
0
Nothing deferred — scope is already tight.

Onboarding & account setup

1 story · 1 must

Enables new users to register and provide initial high-level garden context.

US-001

As an Enthusiastic Urban Novice, I want to provide my balcony dimensions during initial setup, so the system understands my overall garden space constraints for future planning.

Acceptance criteria
  • Width and depth are validated as positive numeric values before proceeding.
  • Valid dimensions are persisted to the user profile.
  • Invalid input shows 'Please enter valid measurements (e.g. 2.5m or 8ft)' and Next stays disabled.
  • Valid input advances automatically to the 'Add Planter' step.
  • Only authenticated users can access this flow.
Must

Planter management

4 stories · 2 must · 2 should

Defining, viewing and managing the physical containers — the fundamental assets for the yield optimization engine.

US-002

Add a new planter by selecting its type and entering its dimensions, so the system can use it for tailored plans.

Acceptance criteria
  • Dimensions matching the selected type are validated as positive numeric values.
  • Type, dimensions and optional name persist to the user's inventory.
  • Missing or invalid fields show 'Dimension must be a positive number' and block saving.
  • Saving closes the modal and refreshes the Planter List View.
  • Only the authenticated user can add to their own inventory.
Must
US-003

View a list of all my planters, so I can manage them or select specific ones for a new plan.

Acceptance criteria
  • The list shows name, type and key dimensions for each planter.
  • Empty state reads 'No planters yet! Add your first one to get started.'
  • Each entry carries an Edit affordance.
  • Only planters belonging to the authenticated account are shown.
Must
US-004

Be prevented from proceeding to plan creation without at least one planter.

Acceptance criteria
  • Attempting to proceed shows 'Please add at least one planter to get started'.
  • Next / Finish Setup stays disabled until a valid planter exists.
  • The user remains on the current step until the condition is met.
Should
US-005

Be notified if a planter name already exists, so container identifiers stay unique.

Acceptance criteria
  • Duplicate names show 'Planter name already exists. Please choose a unique name.'
  • Save Planter is disabled until the name is unique.
  • Uniqueness is checked only within the authenticated user's own planters.
Should

Core yield optimization engine

8 stories · 4 must · 4 should

The primary value proposition: personalized, yield-optimized planting maps and the guidance for continuous harvesting.

US-006

Select specific planters from my inventory for a new plan, so the plan is tailored to my chosen containers.

Acceptance criteria
  • All saved planters appear with checkboxes for multi-selection.
  • At least one selection is required to enable Next.
  • Only the authenticated user's planters are selectable.
Must
US-007

Select crops and see which are high-value, so I maximize edible yield in limited space.

Acceptance criteria
  • A search bar and a curated list of edible crops with icons is shown.
  • High-value container crops are visually highlighted with a badge or distinct styling.
  • At least one crop is required to enable generation.
  • Zero selections show 'Please select at least one crop to create a plan.'
Must
US-008

Receive a visual, yield-optimized planting map, so I have clear, prescriptive instructions for plant placement.

Acceptance criteria
  • Generation shows 'Generating your optimal planting plan…' with a progress indicator.
  • The plan persists and renders as a top-down grid per selected planter.
  • The map shows optimal spacing and placement per crop, factoring density and companion planting.
  • An estimated yield accompanies the layout.
Must
US-009

Receive an automated succession schedule alongside the map, so I can harvest continuously all season.

Acceptance criteria
  • A dated action list is included, e.g. 'Week 8: harvest lettuce, plant bush beans in the empty slot'.
  • The schedule derives from crops, planter dimensions and local growing season data.
  • It is reachable directly from the main Plan View.
  • Basic crop rotation principles are respected.
Must
US-010

Be warned if selected crops are incompatible or sub-optimal for shared planters.

Acceptance criteria
  • Incompatibility triggers the companion warning message.
  • The warning appears on the Plan View or during crop selection.
  • It offers actionable suggestions such as separate planters.
Should
US-011

Be informed if my planters have limited space for optimal growth, so I can manage expectations.

Acceptance criteria
  • Severe space constraints show 'Limited space for optimal growth: consider fewer crops or larger planters.'
  • The message appears prominently after generation or during selection.
  • The system still generates the most optimal plan it can.
Should
US-012

Download or print my planting plan, so I can use it while gardening without being online.

Acceptance criteria
  • A prominent Print/Export Plan button sits on the Plan View.
  • It generates a downloadable PDF of the visual plan and succession schedule.
  • The export carries layout, crop placement, expected yield and schedule.
Should
US-013

Retry generating a plan if a backend error occurs, so a temporary failure doesn't cost me my inputs.

Acceptance criteria
  • Failures show 'Oops! We encountered an issue generating your plan. Please try again later.'
  • A clear Retry button re-initiates generation without losing selections.
  • The app does not crash and preserves input state.
Should

General system & error handling

1 story · 1 should

Application-wide concerns around data persistence and user feedback during network issues.

US-014

Be notified of network issues during saving or retrieval, so I understand what happened and what to do.

Acceptance criteria
  • Network errors show 'Could not save/load data. Check your internet connection.'
  • The failed action can be retried once connectivity returns.
  • Form input and selections are retained where technically feasible.
  • Handling applies consistently across all persistence and retrieval points.
Should

Coverage — Onboarding, planter management and the central yield optimization features. All critical flow steps, edge cases and error states are converted into dev-ready stories, scoped to address the riskiest assumption: user trust in algorithmically-generated plans.

07
Screen blueprints

Nine screens, all MVP-critical.

Welcome to Plot
MVP-critical
/welcome

Greets new users and prompts them to begin the initial garden setup, capturing their enthusiasm to start maximizing their harvest.

Onboarding: Garden Setup
MVP-critical
/onboarding/garden-setup

Guides new users through defining balcony dimensions and adding initial planters — the backbone of Container-First Setup.

Dashboard — empty state
MVP-critical
/dashboard

The home screen after onboarding, with one clear call to action to create the first planting plan.

Dashboard — populated
MVP-critical
/dashboard

An overview of active planting plans, for quick access or creating new ones.

Create Plan: select planters
MVP-critical
/plans/new/select-planters

Choose which planters this plan covers — the entry to the Guided Plan Wizard.

Create Plan: select crops
MVP-critical
/plans/new/select-crops

Choose crops, with the High-Value Crop Selector visually highlighting recommended options.

Planting Plan View
MVP-critical
/plans/:planId

Displays the Optimized Planting Map and Automated Succession Schedule — the core value delivery.

My Planters
MVP-critical
/planters

Central place to view, add, edit and manage all defined planters.

Add / Edit Planter modal
MVP-critical
/planters/add-edit-modal

A reusable interface for adding or modifying planters, with fields that adapt to the container type.

Navigation structure

A persistent top-nav bar carries 'Dashboard' and 'My Planters'. Onboarding and plan creation are linear wizards with Next / Back / Finish. Adding and editing planters happens in a modal overlay.

Responsive intent

Desktop-first but fully responsive to mobile. Card grids collapse to single column; wizards and modals stay readable, with modals converting to full-screen flows on very small viewports.

Design system requested by the specifier

'Warm Consumer Minimalism' — grid-based layout with generous white space; Lexend for headers, Inter for body; primary #1A472A for backgrounds and accents, secondary #D87D4A for highlights, accent #FDE68A for interactive elements and badges. Simple line-art iconography. Card grids for planters and crops, primary buttons for key actions, text inputs throughout. Carried directly from the MAP-tier brand work.

All nine screens — elements, states, acceptance
Welcome to Plot
/welcome

Greets new users and prompts them to begin initial garden setup, capturing their enthusiasm to start maximizing their harvest.

Single-page layout: centred content block, logo, one prominent call to action.

UI elements
  • Plot logo — Brand mark for recognition.
  • Welcome headline — States the app’s purpose in one line.
  • Get Started button — Navigates to Onboarding: Garden Setup.
States
  • default — Welcome message and Get Started button, ready for interaction.
  • initial_load — Brief spinner while the page loads.
Acceptance criteria
  • Get Started must be clearly visible and clickable.
  • Clicking it must navigate to the garden setup flow.
  • The screen appears for first-time users on successful registration.
Onboarding: Garden Setup
/onboarding/garden-setup

Guides new users through defining balcony dimensions and adding initial planters — the backbone of Container-First Setup.

Full-screen wizard: progress indicator at top, input area in the middle, navigation at the bottom.

UI elements
  • Progress indicator — Shows the current step, e.g. Step 1/3.
  • Width & depth inputs — Numeric, validated for positive values.
  • Planter type radios — Rectangular, round, self-watering trough — changes the dimension fields below.
  • Planter dimensions group — Length/width/depth for rectangular; diameter/depth for round.
  • Add Planter — Adds to a temporary list and clears the fields for another.
  • Finish Setup — Completes onboarding; disabled until at least one planter is added.
States
  • step_1_balcony_dimensions — Width and depth; Next enabled only on valid input.
  • step_2_planter_type_selection — Radio group with visual examples; Add New Planter CTA visible.
  • step_3_planter_details_and_list — Type-specific dimensions plus the list of planters added so far.
  • invalid_input_error — Inline ‘Please enter valid measurements (e.g. 2.5m or 8ft)’ under the field.
Acceptance criteria
  • User can move through every step of the wizard.
  • Inputs validate numeric entries and reject non-positive values.
  • Finish Setup stays disabled until at least one planter is added.
  • Visual feedback confirms each planter added to the list.
Dashboard — empty state
/dashboard

The home screen after onboarding, with one clear call to action to create the first planting plan.

Top nav (Dashboard, My Planters); main area shows the planters added during onboarding and a single prominent CTA.

UI elements
  • Top navigation bar — Links to Dashboard and My Planters.
  • Planter list overview — Summary of planters from onboarding with names and dimensions.
  • Create First Planting Plan — Starts the plan wizard at Select Planters.
States
  • empty — Planter list plus a clear call to action to create the first plan.
  • loading — Skeleton or spinner over the content area while planter data loads.
Acceptance criteria
  • The list of initial planters is visible on the dashboard.
  • Create Your First Planting Plan is the most prominent action.
  • Clicking it correctly starts the planting plan wizard.
Dashboard — populated
/dashboard

An overview of active planting plans, for quick access or creating new ones once data exists.

Top nav; a section for active plans as cards, and a smaller planter-count overview beneath.

UI elements
  • Top navigation bar — Links to Dashboard and My Planters.
  • Active plans list — Card grid; each card links through to /plans/:planId.
  • Create New Planting Plan — Starts the wizard at Select Planters.
  • Planter count overview — A simple count of all defined planters.
States
  • populated — Existing plans listed, with the option to view or create.
  • loading — Skeleton over the plan list and overview while fetching.
Acceptance criteria
  • All active plans are listed with their names and associated planters.
  • Clicking a plan card navigates to that plan’s detail view.
  • Create New Planting Plan is easily accessible.
  • The planter count accurately reflects the number defined.
Create Plan Wizard: Select Planters
/plans/new/select-planters

Lets the user choose which planters this plan covers — the entry point to the Guided Plan Wizard.

Full-screen wizard: progress indicator, a grid of selectable planter cards, Back and Next at the bottom.

UI elements
  • Progress indicator — Current step within the plan creation wizard.
  • Planter selection cards — One card per planter with a checkbox; selection updates the plan.
  • Add New Planter link — Opens the Add/Edit Planter modal to define one on the fly.
  • Next — Proceeds to Select Crops; disabled if nothing is selected.
  • Back — Returns to the dashboard.
States
  • default — All available planters shown as selectable cards; Next disabled.
  • planter_selected — One or more checked; Next enabled.
  • empty_planter_list — ‘No planters found. Please add a planter to continue.’ with a prominent Add New Planter button.
Acceptance criteria
  • All user-defined planters appear as selectable options.
  • Multiple planters can be selected for a single plan.
  • Next is active only when at least one planter is selected.
  • Add New Planter opens the planter creation modal.
Create Plan Wizard: Select Crops
/plans/new/select-crops

Lets users choose crops, with the High-Value Crop Selector visually highlighting recommended options.

Full-screen wizard: progress indicator, a search bar, a scrollable grid of crop cards, Back and Next.

UI elements
  • Progress indicator — Current step within the wizard.
  • Crop search input — Filters the crop cards by name.
  • Crop selection cards — Checkbox per crop; high-value crops carry a ‘Yield+’ badge.
  • Next — Proceeds to plan generation; disabled if nothing is selected.
  • Back — Returns to Select Planters.
States
  • default — A curated crop list with high-value crops visually distinct; Next disabled.
  • crops_selected — One or more checked; Next enabled.
  • search_results — Filtered cards, high-value indicators preserved.
  • no_crops_selected_error — Toast: ‘Please select at least one crop to create a plan.’
Acceptance criteria
  • Users can search for crops by name.
  • High-value crops carry a distinct visual indicator.
  • Multiple crops can be selected.
  • Next is active only when at least one crop is selected.
Planting Plan View
/plans/:planId

Displays the Optimized Planting Map and the Automated Succession Schedule — the core value delivery of the whole product.

Top nav; plan title; a top-down visual grid per selected planter; expected yield readout; succession schedule list; export action.

UI elements
  • Per-planter grid map — Top-down placement of each crop, showing optimal spacing and density.
  • Expected yield readout — Estimated yield for the selected crops under this layout.
  • Succession schedule — Dated action list, e.g. ‘Week 8: harvest lettuce, plant bush beans in the empty slot.’
  • Print / Export Plan — Generates a downloadable PDF of the map and schedule.
States
  • generated — Full plan rendered: map, yield and schedule.
  • generating — ‘Generating your optimal planting plan…’ with an indeterminate progress indicator.
  • companion_warning — Selected crops may not be ideal companions — suggests separate planters.
  • space_constrained — ‘Limited space for optimal growth: consider fewer crops or larger planters.’
  • generation_error — ‘Oops! We encountered an issue generating your plan.’ with a Retry action.
Acceptance criteria
  • All elements of the plan — map, yield and schedule — must be visible and easily understandable.
My Planters
/planters

A central place to view, add, edit and manage all defined planters — supporting Container-First Setup.

Top nav; a grid of planter cards with a prominent Add New Planter button above them.

UI elements
  • Top navigation bar — Links to Dashboard and My Planters.
  • Page title — Names the current section.
  • Add New Planter — Opens the Add/Edit Planter modal to create one.
  • Planter cards — Card grid showing name, dimensions, Edit and Delete.
  • Edit — Opens the modal pre-filled with that planter’s details.
  • Delete — Removes the planter after a confirmation prompt.
States
  • populated — Grid of all planters with add, edit and delete options.
  • empty — ‘You haven’t added any planters yet!’ with a prominent Add New Planter button.
  • deleting_confirmation — A modal or toast confirming before permanent deletion.
Acceptance criteria
  • All planters are listed with names and dimensions.
  • Add New Planter is clearly visible and functional.
  • Users can edit an existing planter’s details.
  • Users can delete a planter, with a confirmation step.
Add / Edit Planter modal
/planters/add-edit-modal

A reusable interface for adding or modifying planters, with fields that adapt to the container type.

Centred modal dialog over the current screen, with a form that adjusts its inputs to the selected planter type.

UI elements
  • Modal title — Reads ‘Add New Planter’ or ‘Edit Planter: [name]’.
  • Planter type radios — Rectangular, round and others — changes the visible dimension fields.
  • Name input — Required; validated for uniqueness within the user’s own planters.
  • Dimension inputs — Dynamic by type: length/width/depth, or diameter/depth. Positive numbers only.
  • Save Planter — Validates, persists, closes the modal.
  • Cancel — Closes without saving.
States
  • new_planter_form — Empty fields; planter type selection active.
  • edit_planter_form — Pre-filled with existing details; type may be locked.
  • invalid_input_error — Inline ‘Planter name already exists’ or ‘Dimension must be a positive number.’
  • saving_processing — Spinner on the Save button while submitting.
Acceptance criteria
  • The modal allows a name and dimensions to be entered.
  • Dimension fields adjust dynamically to the planter type.
  • Save stays disabled until all required fields are valid.
  • A successful save closes the modal and refreshes the parent screen.
  • The modal offers a way to cancel and discard changes.
09
30-day sprint

Thirty days of evidence.

Validate the core behavioural hypothesis: will urban gardeners trust and consistently follow a bespoke, prescriptive container planting plan? This concierge test gathers real market evidence to determine whether a software build is justified — or a pivot is required.

Validate before build

Days 1–14

Determine if enthusiastic urban novices will follow a custom, prescriptive container gardening plan when manually provided — without any product code.

Week 1
Set up concierge infrastructure + recruit
  • Create an online form collecting planter dimensions, sun exposure and desired vegetables.
  • Draft a Reddit post for r/BalconyGardening and r/UrbanGardening offering free hyper-optimized custom planting plans.
  • Build a customizable PDF template for the planting map and 3-month succession schedule.
  • Set up a dedicated email address for participant communication.

Done when — form live, Reddit posts published, 10 participants registered.

Kill signal — fewer than 5 sign-ups within 7 days.

Week 2
Manual plan generation + delivery
  • Analyze input from the first 10 participants on containers, sun exposure and desired plants.
  • Manually create personalized PDF planting maps and 3-month succession schedules for each.
  • Email each plan with clear next steps and a request for a photo once planted.
  • Log interactions, delivery dates and follow-up reminders in a spreadsheet.

Done when — all 10 participants have their plans by Day 14.

Kill signal — the manual process can't deliver all 10 by Day 14, invalidating concierge feasibility.

Alpha test + polish

Days 15–30

Measure actual adherence to the concierge plans, gather feedback on perceived value, and make a go/no-go decision on a software build.

Week 3
Track adherence + initial feedback
  • Follow up with participants who haven't sent photos; give light email support.
  • Run 5-minute video calls with 3–5 participants on perceived value, clarity and implementation challenges.
  • Track how many send photos of containers planted to the map.
  • Document qualitative feedback — especially reasons for non-adherence.

Done when — at least 2 participants (20%) send photos by Day 22.

Kill signal — fewer than 2 photos by Day 22: low willingness to follow prescriptive advice.

Week 4
Analyze results + go/no-go
  • Review all adherence data and interview feedback.
  • Identify common points of confusion; sketch software features that would address them.
  • Refine the messaging hook and draft preliminary pricing tiers for a future app.
  • Present a clear Build vs No-Build recommendation with the evidence behind it.

Done when — evidence supports a definitive go/no-go, with refined messaging and a rough pricing concept.

Kill signal — no clear signal after 30 days; an inconclusive test needs further validation or a pivot.

Critical assumptions under test
  • Urban novice gardeners struggle enough with yield to seek and value prescriptive guidance.
  • The perceived value of a hyper-optimized plan outweighs the effort of following it.
  • Reddit communities are an effective, low-cost channel for recruiting this segment.
  • Manual generation of 10 bespoke plans is feasible within 7 days for a solo founder.
  • Participants will supply photos as evidence of adherence.
Resources needed
  • Time — 20 hours/week for 30 days, solo founder.
  • Tools — Google Forms, Canva, email client, Reddit.
  • Budget — $0–50, mostly for optional Reddit boosts if organic reach falls short.
  • Alpha target — Enthusiastic Urban Novice, Gen Z/Millennial, growing food on balconies.
Where this goes next

Spec in hand. LAUNCH needs a channel.

Run the concierge test first — the build is gated on it. But LAUNCH is the one tier with no blockers: if 2+ of 10 gardeners plant to the map, you already know your channel, your offer, and who to send it to. Scope the go-to-market before you scope the sprint.

LAUNCH adds
  • ·Offer design & pricing
  • ·Messaging & headlines
  • ·Ranked channel strategy
  • ·30-day launch calendar
  • ·Metrics plan & triggers
  • ·Landing pages & social
Time
≈ 10 min
Price
€100 upgrade€279 on its own
Run LAUNCH →
Appendix · Trust & method
Evidence reliability
6.0/10
Section confidence
1 High20 Medium1 Low
Sources cited
18
Assumptions made
14

This measures how well-sourced the analysis is — not how promising the idea is; that is the score in the verdict. Each section is rated by confidence: High (primary sources) counts fully, Medium (secondary) 60%, Low (estimates) 30%; the average gives the overall score. This analysis rests on secondary research and AI synthesis — validate key assumptions before making major decisions.

Stop guessing. Start building.
Run 20260805_165137 · BUILD · August 5, 2026