Season Plan

{{ headline }}

Start {{ startDateDisplay }} Transplant {{ transplantDateDisplay }} Harvest {{ harvestWindowDisplay }} Successions {{ successionCountDisplay }} Season {{ seasonLengthDisplay }} Buffer {{ frostBufferDisplay }} Prep {{ bedPrepLeadDisplay }} Gap {{ successionIntervalBadge }} {{ zoneLabel }}
days
weeks
weeks
days
cycles
days
days
Milestone Date Copy
{{ milestone.label }} {{ milestone.value }}
Date Phase Batch Notes Copy
{{ item.date }} {{ item.phase }} {{ item.batch }} {{ item.notes }}
Season insights
  • {{ insight }}

No insights yet—enter frost dates and crop details to generate analysis.

Timeline uses day offsets from the seed-start date. Harvest window trims to first fall frost minus buffer days.


                

Add your frost dates and crop choice to build a sowing and harvest calendar.

Introduction:

Planting calendars turn local frost dates and crop needs into a season plan that shows when to start seeds, move plants outside, and begin harvest. They help align labor and bed space so yield arrives when your kitchen or pantry is ready. A clear succession planting schedule reduces guesswork in busy weeks.

Enter your average last spring frost and, if you know it, your first fall frost. Choose a crop and its maturity time, then decide whether to start indoors or sow direct so the plan matches your beds and tools. Results organize the work into simple phases you can copy to lists or reminders.

You might, for example, plan tomatoes after a mid April frost and see seed trays start in early March with harvest beginning in early July and tapering in September. The same approach works for quick greens where shorter maturity and tighter gaps keep salads coming.

Treat dates as planning anchors rather than promises because weather and microclimates can shift growth by a few days. Improve reliability by using local records, keeping units consistent, and reviewing notes after each season.

Technical Details:

The core quantities are the frost‑free window between your last spring frost and first fall frost, the crop’s days to maturity, and any protection that extends either end. From these, the planner computes a field date for transplanting or direct sowing, then derives indoor seed starting and hardening periods when applicable.

The harvest window opens after the maturity period and closes at the earlier of a preset harvest duration or a cap tied to the first fall frost with a zone‑based buffer and any protection. Reported metrics include frost window days, crop span, harvest buffer, and the realized succession count.

Succession spacing follows a crop default cadence and adapts to your goal. Fresh table aims for steady picking with shorter gaps, preserving aims for one larger flush with wider gaps, and a custom override sets a fixed day interval with a minimum of five days.

Comparisons make sense when you hold location and season settings constant. Read outputs as a plan that absorbs normal variation rather than a guarantee for a particular cultivar or microclimate.

e=round(7×w) b={7 if frost‑sensitive, else 3} s=min(b,e) t_trans=t_last+ { max(0, 3 − min(e, 3)) if direct sow , b − s if transplant } t_harden=t_transh t_seed=t_harden7× t_open=t_trans+D t_default=t_open+max(14,H) t_cap=t_first+min(e,21)p t_end=if first frost set: min(t_default,t_cap) else t_default S=diffDays(t_last,t_first) G=diffDays(t_trans,t_end) B=diffDays(t_first,t_end)
Symbols and units
Symbol Meaning Unit/Datatype Source
tlastLast spring frost dateYYYY‑MM‑DDInput
tfirstFirst fall frost date (optional)YYYY‑MM‑DDInput
DDays to maturitydaysInput or preset
Transplant leadweeksInput or preset
hHardening perioddaysInput
wSeason extensionweeksInput
eExtension converteddaysDerived
bBase frost bufferdaysPreset
pZone harvest paddingdaysZone map
ttransTransplant or direct‑sow dateYYYY‑MM‑DDDerived
tseedIndoor seed start dateYYYY‑MM‑DDDerived
topenHarvest window opensYYYY‑MM‑DDDerived
tendHarvest window endsYYYY‑MM‑DDDerived
SFrost‑free windowdaysDerived
GCrop span in fielddaysDerived
BBuffer before frostdaysDerived
Worked example. Inputs: last frost 2025‑04‑20, first frost 2025‑10‑05, zone 6, tomato preset, D=75, ℓ=6, h=7, w=2, direct sow off, successions=3.
e=14 b=7 s=7 ttrans=2025‑04‑20 tharden=2025‑04‑13 tseed=2025‑03‑02 topen=2025‑07‑04 tend=2025‑09‑12 S=168 days G=145 days B=23 days
Interpretation: transplant on 2025‑04‑20, harvest from 2025‑07‑04 to 2025‑09‑12, buffer 23 days before the first fall frost, three successions spaced 28 days.
Zone harvest padding map
Zone Harvest padding (days)
321
418
514
610
77
85
93
102
110
Crop presets
Preset Days to maturity Lead (weeks) Succession gap (days) Frost sensitive Direct sow default Harvest window (days)
Tomato (indeterminate)75628YesNo70
Pepper (sweet)80832YesNo60
Lettuce (butterhead)55314NoNo28
Bush bean58018YesYes35
Kale60430NoNo90
Carrot70021NoYes45

Units, precision, and rounding:

Dates use the ISO order year‑month‑day. All durations are whole days. Day differences are rounded to the nearest day using UTC to avoid daylight‑saving drift. Chart bars enforce a minimum one‑day duration for legibility.

Validation and bounds:

Inputs and constraints
Field Type Min Max Step/Pattern Error text Placeholder
Last spring frostDateYYYY‑MM‑DDLast spring frost date must be YYYY‑MM‑DD.
First fall frostDate (optional)YYYY‑MM‑DDMust be after the last spring frost.
ZoneSelect311
Days to maturityNumber251801Clamped to range.70
Transplant leadNumber0160.5Clamped to range.6
Hardening daysNumber0141Clamped to range.7
Season extensionNumber060.5Clamped to range.2
Direct sowSwitchboolean
SuccessionsNumber161Clamped to range.3
Bed prep leadNumber0211Clamped to range.5
Succession overrideNumber0601Uses ≥ 5 when set.24
Notes seedText32 charszone6b‑backyard

I/O formats:

I/O summary
Input Accepted families Output Encoding/Precision Rounding
Dates, numbers, togglesCalendar dates, integers, decimalsMilestones, schedule, timeline, JSONDates as YYYY‑MM‑DD, whole daysNearest day (UTC)

Randomness, seeds, and reproducibility:

A deterministic seeded generator produces advisory tips so repeated inputs yield the same note. Randomness does not affect computed dates. You can provide a seed string to keep phrasing stable across runs.

Networking & storage behavior:

All computations and file exports occur on your device. Clipboard operations require permission. No data is transmitted or stored server‑side.

Assumptions & limitations:

  • Frost dates represent long‑term averages; single seasons vary.
  • Zone padding trims harvest near the first fall frost; it is not a weather forecast.
  • Days to maturity are packet averages; cultivar and soil conditions shift timing.
  • Succession gaps are fixed by rule or override; they do not react to yield feedback.
  • Season extension shortens early buffers and can extend the fall cap within limits.
  • Without a fall frost date, the harvest window uses the preset duration only.
  • Chart bars are schematic; durations are rounded for readability.
  • Heads‑up Valid patterns do not guarantee yield; use test patches when trying new varieties.

Edge cases & error sources:

  • Invalid date strings cause an error and halt computation.
  • A fall frost before the last spring frost is rejected.
  • Out‑of‑range numbers are clamped to defined bounds.
  • Very long maturity may push harvest close to or past the fall cap.
  • High succession counts may be trimmed if dates exceed the harvest end.
  • Zero hardening days removes that phase but keeps other milestones.
  • Direct sow changes early offsets and removes seed‑start and hardening phases.
  • Custom succession override below five is raised to five days.
  • Large bed‑prep leads add earlier tasks but do not alter field dates.
  • Rounding uses UTC midnights; entries set near leap‑day transitions remain whole‑day accurate.

Privacy & compliance:

No personal data is transmitted or stored server‑side. Exports are generated locally. Avoid entering sensitive information into notes.

Step‑by‑Step Guide:

Plan a crop calendar that converts frost dates and maturity into actionable field dates.

  1. Enter Last spring frost and, if known, First fall frost.
  2. Select your hardiness zone and choose a crop preset or set custom maturity and lead.
  3. Decide on Direct sow or transplant with hardening days.
  4. Pick a harvest goal; add successions and, if needed, a custom interval.
  5. Optionally add a bed‑prep lead to schedule prep ahead of each field date.
  6. Review milestones and schedule, then export or copy what you need.

Example: Zone 6 tomatoes with last frost 2025‑04‑20, maturity 75 days, lead 6 weeks, hardening 7 days → seed 2025‑03‑02, transplant 2025‑04‑20, harvest opens 2025‑07‑04.

You now have a clean sequence of dates ready for your season plan.

FAQ:

Is my data stored?

No. Everything runs on your device, and exports or clipboard actions occur locally. Nothing is sent to a server.

Clipboard permissions may prompt once per session.
How accurate is the schedule?

It reflects averages plus a zone buffer and any protection. Expect shifts of a few days from weather and site effects. Use notes to refine next season.

What units and formats are used?

Dates use YYYY‑MM‑DD. Durations are days. Calculations use UTC to keep day counts stable.

Can I work without a connection?

Yes. After the page loads, planning and exports continue to work without network access.

How do I plan tomatoes in zone 6?

Select the tomato preset, set zone 6 and your frost dates, keep the default 6‑week lead and 75‑day maturity, then review the three successions at 28‑day gaps.

What does a “buffer 0 days” result mean?

Harvest ends on the first fall frost date. Keep protection ready or reduce succession spacing to finish earlier.

How do I export my plan?

Use the milestone or schedule actions to copy CSV or download CSV and DOCX summaries. A JSON view is also available for records.

Does a custom succession override the goal?

Yes. A set interval replaces goal‑based cadence, with a minimum of five days between field dates.

Glossary:

Days to maturity (DTM)
Average days from transplant or emergence to first harvest.
Hardening off
Gradual outdoor acclimation of seedlings before transplant.
Season extension
Protection that adds days at the edges of the season.
Succession planting
Staggered plantings to smooth harvest over time.
Frost‑free window
Days between last spring frost and first fall frost.
Harvest buffer
Days remaining between the last planned harvest and first fall frost.