andrewlb notes

Haven

Haven

Tools

Claude CodeMarkdownJSON SchemaHome AssistantGit

What worked

The decision to make watering manual and intentional (not automated) anchored the entire design — the routine IS the learning tool. Structuring crops as JSON from day one (27 files with growth stages, bilingual actions, difficulty tiers, HA alert triggers) meant Home Assistant integration was a config task, not a rework. Scoping down from 5 beds to 2 and requiring 60%+ Tier 1 'can't fail' crops kept the first season achievable. The bilingual EN/DA prompts and neurodivergent-adapted session scripts (5-10 min windows, sensory transitions, pick-2-of-4 task model) held together structurally.

What broke

This is the only project where development speed is meaningless — plants, seasons, and a 7-year-old's attention have their own timelines. The engagement assumptions are derived from literature and parent knowledge, not tested with the actual learner. The budget exceeded the initial ceiling (8,500-10,500 DKK vs. 2,000-5,000 DKK, accepted as 20-year infrastructure). Longer absences depend entirely on self-watering reservoirs plus neighbor cooperation — no redundancy. If the child disengages, the entire project premise fails.

Roles

I set every constraint that matters: the learner is the primary user, watering must not be automated away, sensors deferred to season 2 because manual observation teaches more, 2 beds not 5, 60%+ easy crops. Claude Code wrote all documentation, JSON data files, and Home Assistant configs. The evidence-based slug defense (Ferramol over copper tape per Aarhus University research) was my research; Claude translated it into structured docs. This is the only project with zero application code.

Haven (Learning Garden System)

Overview

Haven is a documentation-first garden planning system for a backyard raised-bed garden in southern Denmark (USDA Zone 7b). It's designed as a developmental agency-building tool for a neurodivergent 7-year-old learner, where the primary success metric is engagement and growing independence — not crop yield.

Core purpose: A young learner who independently checks on, cares for, and harvests from plants he chose to grow — and sees the direct connection between his effort and the food on his plate.

Target user: A neurodivergent 7-year-old, with the parent as facilitator. This is the only project in the portfolio with zero application code — it's pure documentation and structured data.

What It Does

  • 27 crop profiles as JSON with growth stages, child-facing actions in EN/DA, difficulty tiers, companion plants, and Home Assistant alert triggers
  • 30 weekly schedules (W15-W44) with themed tasks, bilingual prompts, vacation flags, and prioritized activities
  • Neurodivergent-adapted session scripts with 5-10 minute windows, sensory transitions, self-regulation exit ramps, and a pick-2-of-4 task model
  • Centimeter-level planting grids for two raised beds with exact positions for every plant
  • Home Assistant integration — 10 automation rules (drought, frost, heat stress), sensor definitions, and a copy-paste-ready Lovelace dashboard
  • Succession calendar ensuring continuous harvest from W22-W43 (something always ready to pick)
  • Vacation handoff system — neighbor guide with photos, pre-departure checklist, countdown session script, self-watering reservoir build guide
  • Evidence-based slug defense — Ferramol pellets per Aarhus University research, with documentation of why copper tape and beer traps are less effective

Architecture Decisions

  • Manual watering is intentional — Watering IS the routine that builds agency. Automating it away would remove the core learning mechanism.
  • 2 beds, not 5 — Scoped down from the initial plan. Simpler, less overwhelming for a first season, focused enough to succeed.
  • 60%+ Tier 1 "can't fail" crops — Strawberries, radishes, lettuce alongside stretch crops (tomato, pepper). The child needs guaranteed wins to stay engaged.
  • Sensors deferred to season 2 — Manual observation teaches the child more than dashboards in year one. Data format is proven and HA configs are written, ready to activate.
  • JSON data from day one — Structured crop files enable HA integration, schedule generation, and validation without rework. Not a premature abstraction — it paid off immediately.
  • Staggered planting for continuous harvest — Succession calendar keeps something ready to pick from May through October. Engagement depends on tangible results, not patience.
  • Ferramol over copper tape — Aarhus University research shows pellets + manual patrols are more effective for Danish Spanish slugs. Evidence over convention.
  • Bilingual EN/DA prompts — Father speaks Danish to child; prompts are spoken, not read. Both languages present throughout.

Iteration Story

The project shipped its planning phase in 4 days, but that speed is almost irrelevant — the real iteration happens outdoors on the plant's schedule.

The most consequential scope decision was cutting from 5 beds to 2. The original plan was ambitious, but the actual constraint wasn't garden space — it was a 7-year-old's attention span and a parent's capacity to facilitate. Two beds (one "Family Bed" with vegetables, one "His Bed" with strawberries and sensory plants) matched the real constraint.

The budget overrun (8,500-10,500 DKK vs. 2,000-5,000 DKK) was accepted because the infrastructure (corten steel raised beds by byJEMA) has a 20+ year lifespan. The reframe from "garden project" to "infrastructure investment" changed the evaluation criteria.

As of W15, the project is planning-complete and waiting for seasonal execution. The neurodivergent engagement model (session scripts, sensory transitions, pick-2-of-4 agency) is still theoretical — derived from literature and parent knowledge, not tested with the actual learner. The real validation starts when the first seeds go in.

Weaknesses & Open Questions

  • Engagement assumptions are untested — The entire design is derived from neurodivergent learning literature and parent intuition. Real sensory triggers and attention patterns only emerge in practice.
  • Absence is a single point of failure — Self-watering reservoirs + neighbor cooperation, no redundancy. If both fail during a summer trip, plants die and engagement collapses.
  • Danish climate risk — Tomato, pepper, and cucumber are marginal in zone 7b. A cool/wet August could mean poor yields on the most exciting crops.
  • No fallback if the child disengages — The entire project premise depends on sustained interest. There's no pivot.
  • Single-season data — All planning is theoretical until the first growing season validates (or invalidates) the assumptions.
  • Roof terrace expansion deferred — Load capacity for wet soil on the carport roof hasn't been assessed.

Ecosystem Role

Haven's Home Assistant configs target the TuringPi homelab cluster. It shares the neurodivergent-first design approach with Evolver (session scripts, timed steps, sensory engagement, quick wins). No connections to the web infrastructure stack — no async processing, no LLM, no web serving.