Show HN: Plantbase, a file-first plant care database
I originally built it with a fully-fledged API (using Rust Axum) + Postgres database to store and serve plant care data to a frontend. It worked, but quickly felt like overengineering for a read-only reference site.
So I rebuilt it as a file-first static site: each species/genus/family is a markdown file with structured metadata. This is the 'database'. A static site generator then builds all pages from these files.
Example for the 'Impatiens' genus:
--- name: Impatiens
familia: Balsaminaceae
common_names: impatiens, jewelweed, touch-me-not, snapweed, patience, balsam or busy lizzie.
etymology: The word Impatiens comes from the Latin word impatiens, meaning impatient/intolerant. This refers to the seed capsules of this plant which burst when mature, dispersing seeds up to several meters away.
tags: - balsaminaceae
---
The project is open source, easy to extend (just add a markdown file), and designed to stay simple: no accounts, no user data, no monetization, no roadmap with tons of features. Just a clean, free, searchable houseplant reference with open data.
This project was a lesson to myself to keep things simple! On to the next one.
No comments yet