Flora

Every plant and flower in our house and garden, written up — what it is, what it actually wants, and what needs doing to it before the frost.

flora.zander.wtf Repo Astro, TypeScript, Cloudflare D1

We kept forgetting things about our own garden. Which of these needs lifting before the first frost? Is this one drought-tolerant or is it the one that sulks the moment you look away? Someone would know the answer in July and nobody would know it in October.

Flora is the answer written down. Every plant and flower in our house and garden gets its own page: habit, light, water, hardiness and position, a care section, a strip showing which months it’s in flower, and the winter job if there is one. The RHS is the source of truth for the reference data — hardiness, flowering window, growing conditions — and the watering, feeding and pruning notes are how we actually look after the thing here.

There’s no database. Each plant is a single markdown file, and the frontmatter drives the whole UI, which means the same data can be read from several angles:

  • / — everything, grouped into outdoors and indoors, with whatever’s in flower this month first
  • /in-flower — the flowering year. Pick a month, see what’s out. Radio inputs, no JavaScript
  • /dry-spell — hot-weather triage: what to water first, and what to leave alone
  • /winter — winter jobs grouped by action (lift, move indoors, keep dry), most urgent first
  • /search — full-text search over every plant, on Cloudflare D1 via astro-d1-search

Built with Astro and ZUI, deployed to Cloudflare Workers as a static site with two server-rendered routes for search.

It ships with two agent skills. add-plant takes a photograph or just a name and does the whole job — identification with an honest confidence rating, a verified reference URL, the frontmatter, the body copy and the reindex — so adding a new plant is a sentence rather than an afternoon. make-your-own-flora turns a fork into somebody else’s site: strip the plants, rebrand, point it at their own Cloudflare account, deploy. Search is optional, so if you don’t want a Cloudflare account you can flip one flag and host the static output anywhere.

Flora is also where Green Claws started. The iOS app is the same idea taken further: instead of writing each plant up by hand, you photograph what you own and it builds the almanac for you.