define: Houseplant programming 🪴

[The tool I built] solves my idiosyncratic problems and may not address yours at all. That’s fine—take it as an ad to write tiny software just for yourself. Houseplant programming 🪴!

From An ode to houseplant programming 🪴.

This resonated with me because, for the past 13 years I've been trying to write the "perfect" blog engine. With announcers, assistants, builders, publishers, and many other interfaces that try to be the ideal abstraction so that it can work in any imagineable scenario: "You want to store your files in FTP, deploy using NNCP, and serve it on Gemini? No problem!"

(That example is not an exageration!)

Last year, when I started working on this blog, I decided I was going to be the only user. The code is still open-source, but it's not built as a universal project. The source is open because it could be useful, with my implementations of MicroPub, MicroSub, WebMentions, OAuth2, etc. And someone could run the engine by writing a correct .env file. But the decisions I'm making while developing the software have a target audience of 1.

Me.

Paradoxically, I think it helps that my blog is now a web application instead of a static site generator (SSG). While SSGs are more simple, web applications are more opinionated.