We have many names to describe personal tools. Malleable software speaks to how it behaves. Home-cooked software speaks to who makes it. I wanted a name that speaks to something deeper: how it feels.
Perfect Software.

I mean “perfect” in the way I mean a “perfect coffee.” There’s no such thing as the world’s best coffee. There’s only your coffee, with the perfect amount of sugar, the perfect milk-to-coffee ratio, the perfect roast, served at the perfect temperature, in a perfect cup.
What It Is and Isn't
Perfect software isn’t objectively best. It’s perfect simply because it does exactly what you want, how you want it, when you want it.
It isn’t big either. We have confused "good" with "big". In the Silicon Valley lexicon, software is successful only if it scales. It must serve millions. It must capture markets. It must grow continuously.
Perfect software offers a different kind of value: Sufficiency. It offers the contentment of having met the need. While growth demands a constant state of hunger, sufficiency offers satiety. Think about it like a gardener describing their produce: “perfectly ripe tomatoes” or “perfectly sweet peaches.” I crave that in software.
The Myth of Perfect Software
Before LLMs, perfect software, in the way I define it, was accessible only to a chosen few who had the time and skills to build it. So we rented software. We begged or waited for features. We accepted friction and exploitation (limitations, ads, and data theft) as the rent.
In the 12 years I’ve written online, I’ve never found the perfect writing and publishing tool. I’ve tried Blogger, GitHub Pages, Medium, Ghost, Obsidian Publish, Notion, and more, so it certainly wasn’t for a lack of trying. It wasn't because I needed something fancy. It was because I didn’t.
The Myth Becomes Real
But over the last 18 months, I’ve increased my odds of finding perfect software. Because now, I’m making it.
Shortly after the release of Claude models last year, I started working on this blog from scratch. Now, my blog is a perfect piece of software because it’s my creation, fine-tuned to my workflow. I write articles in Markdown, run a Python script that converts them into consistent and customized HTML, and run some more scripts to build, package, and deploy the blog on Netlify. If there’s something I want it to do, I make it do it. And it doesn’t do anything more than I’d like.
While using Obsidian, I noticed that I rarely went back to my old entries, and I missed them. I like the idea of serendipitous discoveries and connections, so I built an Obsidian plugin and called it Serendipity. It runs every time I open the app and pops up a random post from my vault.
The Extended Mind Theory argues that our tools are not just accessories but literal extensions of our cognitive process. Viewed this way, a generic tool like a one-size-fits-all app feels like a prosthetic that doesn’t quite fit. When I built Serendipity, it fit perfectly. The serendipitous posts became a transparent extension of my memory. Nothing more, nothing less.
Last month, I wrote another piece of perfect software: a Chrome plugin to justify text with one click on any website I visit. As you can tell from the formatting of the text on this blog, I find justified text not only easy to read but aesthetically pleasing. I read better and longer when the page looks right to me, and text alignment is a critical part of it. So there was a void in my life, and I patched it.

It’s not the best plugin. I haven’t stress-tested it. I’m sure it’ll break on some websites. But it has worked on every site I’ve used it on because when it didn’t, I changed it so that it did. So now it’s perfect. It’s like having a perfect garden until you see a weed. You pluck it out and it’s perfect again.
This signals a shift in power back into my hands. I get to choose how I view the content designed by others. It’s like walking into someone else’s house with my own coffee set and brewing the perfect cup.
What Does It All Mean?
First, you don’t need to be a 10x engineer anymore to build perfect software. And you certainly don't need a design degree to build a beautiful one. You can be a 1x engineer (even if just at heart) with taste, an itch to solve a problem, and an AI.
Second, it brings back the joy of building. I loved software development largely because of what I could do with it. But over time, that spark was overshadowed by “adult” concerns: money, impact, ladder, leadership, ROI. While those motivations are all necessary to survive and thrive, they aren’t always what makes us feel alive. Every time I optimized purely for career impact, I felt like I was losing a small piece of myself.
Third, it brings back autonomy. Self-Determination Theory in psychology suggests that human well-being hinges on three needs: Autonomy, Competence, and Relatedness (Connection). When you climb the career ladder, you achieve competence but inevitably lose some agency and connection to yourself. When I build perfect software, I regain them. It heals the part of me that feels lost or bruised in the corporate world.
Update: This post made it to the front page of Hacker News