Everybody Could Use a Garden Server
Hannah Ilea wrote a lovely essay last year about houseplant programming — tiny software just for yourself. Code that doesn’t need to scale or be production-ready, doesn’t need to please anyone but you. She compares it to keeping houseplants: small living things that make your space a little more alive.
I keep coming back to it, because something similar has been happening over here at Miren. It started with a domain name.
miren.garden
We have a bit of a domain shopping problem. Last August, we had a server running internal apps under a boring “sandbox” subdomain. We wanted something with more personality.

I called out toys and garden as my favorites. Evan, with what I now know is a telltale domain-shopping twinkle in his eye, replied: “i’m gonna just get them both.”
We decided toys would be for experiments involving users and garden would be for internal apps. We pointed it at the cluster and kept deploying things — same server, same miren deploy, just a new name.
But something shifted. “Deploy it to the garden.” “Is that running in the garden?” The name kept pulling us somewhere. It stopped feeling like jargon. It started feeling like a place.
What’s growing
Eight months later, the garden has sixteen apps running in it.
Mirener is our everything app (eat your heart out, Elon). It started as a Slack bot for creating Google Meet links and now handles meeting transcripts, summaries, emoji search, team presence, and morning briefings. It just keeps growing.
RFD is our design doc system. 65 documents and counting, full web interface with search and diagram rendering. It’s where our most important thinking lives. We’re hoping to selectively open up some RFDs to the community in the future, so you’ll hear more about this one.
Linear Issue Bridge makes public-facing pages for our Linear issues — if you click an issue reference from our GitHub repo, you’ll land here. Claude and I built the whole thing in an afternoon. I’m not sure I would have built it if the garden wasn’t already there to put it in.
There’s also an auth server, a Twilio-powered office phone, observability tooling, uptime monitoring, and preview environments for this very website. Some of it’s custom software, some of it’s self-hosted open source apps — all of it easy to deploy, easy to find, and easy to talk about. We’re up to sixteen apps and counting.
Houseplants need a home
So why did the garden grow like this? I think it’s because we stumbled into solving a problem that gets in the way of most small software: where does it run?
I have a graveyard of side projects that work fine on my machine and never made it any further. A script on your laptop runs when your laptop is open. A little web app needs hosting. A bot needs uptime. Cloud hosting is overkill. Heroku was close, once, but then it got expensive and complicated. You could spin up a VPS, but now you’re a sysadmin.
We didn’t set out to build a “garden server.” We set out to dogfood Miren and run our own stuff. But having a cluster that was just there — already running, already easy to deploy to — meant that every little idea had somewhere to go. The issue bridge happened because I had somewhere to put it. The office phone happened because we had somewhere to put it. The plant survives when there’s a place for it.
Garden software
Hannah’s essay is about software for one person. But there’s a version of this that works for a small team, a friend group, a household. Software that serves your people, not the whole internet.
That’s what most of our garden apps are. Mirener serves our team. The RFD system serves our team. The issue bridge serves anyone who wants to see our public issues, but we built it for ourselves. Office Phone literally answers our phone number.
None of this is enterprise software. It’s not SaaS. It’s garden software — small stuff, built for the people around you, running in your own patch.
A Miren cluster runs on almost anything — a cloud VM, a bare metal box, a mini PC under your desk. We built it that way because we wanted deployment to work everywhere. Turns out that also makes it a pretty good garden server. One machine, your stuff, miren deploy, done.
run.garden
Back in that August Slack thread, right after we bought the domains, Evan said something offhand: “another option is to buy a domain that we can give out FOR clusters.” He waved it off — “i’m making it more than it needs to be.” But the seed was planted (ha!).
Now here we are, and it’s time to sprout Evan’s idea. We know what having a garden has done for us, so today we’re announcing the thing that lets you have one too: free subdomains for anyone running a Miren cluster on run.garden or miren.app (and, given our domain shopping problem, probably more in the future). Install Miren on your server, register it with Miren Cloud, claim a subdomain, and your apps are live on your very own garden.

For the full walkthrough, check out the subdomain docs.
Tending
Gardens need tending — not the anxious, pager-in-your-pocket kind, but the check-in-when-you-think-of-it kind. Your garden server should be something you visit, not something that wakes you up at 3am.
Hannah talks about how houseplant code doesn’t need to be “production ready.” We agree. But we also think the gap between “works on my machine” and “running somewhere I can share” should be tiny. That’s what the garden server is. It gives your houseplant a windowsill.
Our garden is still growing. If you’ve got a project gathering dust because you never figured out where to run it — come plant it. Get started here.