完美软件 – 为一人而设的软件
Perfect Software – Software for an Audience of One

原始链接: https://outofdesk.netlify.app/blog/perfect-software

## “完美”软件的兴起 作者提出了一种对有价值软件的新定义——不是“最好”或“最大”,而是“完美”——意味着独特地定制以满足*你的*需求,就像一杯定制完美的咖啡。这种“完美软件”优先考虑**充分性**,而非无休止的扩展和功能膨胀,专注于精确地做你*想要*的事情,不多也不少。 过去,实现这种个性化程度过于困难,迫使用户与通用平台妥协。然而,大型语言模型(LLM)的出现使即使是个人开发者也能创建高度定制化的工具。 作者通过详细描述自己的作品来举例说明:一个定制博客和Obsidian插件,以及一个Chrome扩展程序——所有这些都是为了解决特定的个人痛点而构建的。这些不一定具有开创性,但它们对创造者来说是*完美*的,扩展了认知过程,并恢复了在大型系统中失去的**自主性**。 这种转变标志着从追求职业影响力到享受创造乐趣的转变,满足了能力和自我决定的基本心理需求。“完美软件”不是关于构建下一个行业巨头;而是关于重新获得控制权,并制作真正*适合*你的工具。

## 完美的软件:大语言模型时代的定制工具 最近的 Hacker News 讨论集中在“完美软件”的概念上——不是普遍优秀的软件,而是完全适合*个人*需求的软件。核心论点是,大语言模型正在推动新一波个性化工具构建,降低了创建自定义工作流程和应用程序的门槛。 虽然有些人认为从头开始编写软件的价值在于学习经验和成就感,但许多人将大语言模型视为开发者的助手,而非替代品。它们允许用户快速原型设计、迭代和扩展现有工具,专注于*他们想要实现的目标*,而不是陷入复杂的编码中。 这场讨论凸显了向“氛围编码”的转变——快速构建用于特定、个人任务的功能性工具——并引发了关于软件维护以及更民主化、可定制的软件前景的问题。最终,这场讨论强调了价值在于适应性和创造“恰如其分”的工具的能力,即使它们不符合传统标准。
相关文章

原文

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.

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 the best software. 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 only valuable 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's the virtue of requiring less, not because you lack ambition, but because you have met the need. While growth demands a constant state of hunger, sufficiency offers satiety. And perfect software delivers that because the moment you deem something perfect, you become content.

Think about it like a gardener describing their produce – “perfectly ripe tomatoes” or “perfectly sweet peaches”. I want that in software.

Perfect software does not need to scale, it needs to fit. It doesn’t need a roadmap, it needs to keep a promise. Perfect software does not need tons of features. It needs to have just the features that the user needs.

The Myth of Perfect Software

Before LLMs, “perfect software” was largely a myth. For most of us, the effort required to build exactly what we wanted was simply too high. So we rented other platforms. We begged or waited for features. We accepted friction and exploitation - limitations, ads, data stealth - 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 precisely because I didn’t.

It Becomes Real

But over the last 18 months, I’ve increased my odds of finding the “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, finetuned to my workflow. I write articles in Markdown, run a Python script that converts it into consistent and customized HTML, and run some more scripts to build, package and deploy it on Netlify. If there’s something I want 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 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.

chrome-justify

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’ve changed it so that it did. So now it’s perfect. It’s like when you have a perfect garden one day, then 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. You can be a 1x engineer(even if just at heart) with an itch to solve a problem and an LLM.

Second, it brings back the joy of software development. 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 inevitably lose some agency. When I build perfect software, I regain agency. It heals the part of me that feels lost or bruised in the corporate world.

联系我们 contact @ memedata.com