Kid mode 🧒

This page is Verdure. It is one of the projects Brandon built and put online. The grown-up details are below, tap Grown-up mode to read them the normal way.

3tools, one garden
The brain, the database, and the glue. Field notes go in Obsidian. Structured records live in Notion. n8n moves data between them and the live Vercel dashboard so every photo, observation, and task lands in the same place.

Pipeline flow

Every garden moment flows from capture, through processing, to a live, citable record.

CapturePhoto, voice memo, Obsidian quick note
InboxiCloud sfg/garden-inbox · Vault inbox
n8nCron jobs sync, route, parse
RecordsNotion databases · garden.json · Obsidian notes
Livedrwu-htmls.vercel.app dashboard + Todoist push
Brain
Obsidian

Field notes, plant profiles, pest research, seasonal reflections. Markdown frontmatter that n8n can parse.

  • Vault folder: Brandon-Vault/20 Projects/Horticulture/
  • 5 templates: plant observation, pest log, propagation log, bed plan, seasonal reflection
  • Frontmatter keys map directly to garden.json arrays
  • Quick capture inbox: inbox/
Database
Notion

Structured operations: who does what when. Six relational databases imported from CSV templates.

  • Plants (17 rows pre-seeded)
  • Tasks (11 open, priority + due-date sorted)
  • Inventory (9 items)
  • Treatments, Properties, Propagation
  • Each row carries Photo Ref linking back to garden.json
Glue
n8n

Four cron-scheduled workflows move data between the tools and the live dashboard without manual copy-paste.

  • iCloud photo intake every 5 min
  • Notion Tasks → Todoist push every 15 min
  • Obsidian markdown → garden.json hourly
  • Daily 07:00 morning briefing email

Obsidian templates

Drop these into Templater. Each one writes frontmatter that the importer recognizes.

TemplateFrontmatter typeMaps to
plant-observation.mdplant_observationplants[]
pest-log.mdpest_logpests[]
propagation-log.mdpropagation_logpropagation[]
bed-plan.mdbed_planbeds[]
seasonal-reflection.mdseasonal_reflectionmeta.seasons[]

Path: ~/Desktop/Brandon-Vault/20 Projects/Horticulture/templates/

Notion CSV databases

Import each CSV via Notion → New Page → Import → CSV. Pick the matching database template.

CSVNotion databaseRow count
plants.csvPlants17
tasks.csvTasks11
inventory.csvInventory9
treatments.csvTreatments2
propagation.csvPropagation11
properties.csvProperties1

Path: ~/Projects/horticulture-pipeline/notion-csvs/

n8n workflows

Import each JSON via n8n → Workflows → Import. Wire credentials, save, activate.

#WorkflowTriggerWhat it does
01 01-icloud-photo-intake.json Every 5 min Move new garden photos from iCloud sfg/garden-inbox into the dashboard's img folder, append a JSON record per photo, redeploy.
02 02-notion-tasks-to-todoist.json Every 15 min Pull unsynced Open tasks from Notion Tasks database, create matching Todoist tasks with priority + due date, mark synced.
03 03-obsidian-to-garden-json.json Hourly Find Obsidian markdown changed since last sync, parse frontmatter into garden.json deltas, redeploy.
04 04-morning-briefing.json Daily 07:00 Pull live garden.json, count overdue + due-today tasks + high-severity risks, email a one-screen briefing.

Path: ~/Projects/horticulture-pipeline/n8n-workflows/

Supporting Python scripts

n8n calls these. You can also run them manually from the command line.

What to install once

One-time setup before the cron jobs do anything useful.

How the three tools split work