{"slug": "why-i-build-small-local-software-that-does-one-thing", "title": "Why I Build Small, Local Software That Does One Thing", "summary": "A developer advocates for building small, local, single-purpose software in an AI-assisted world, arguing that while AI makes code generation cheap, the real costs lie in maintenance and support. The developer's own tools—Comoji, Burly, Premail—run locally without accounts, prioritizing restraint and polish over feature creep. The developer contends that small scope allows a single builder to own the app end-to-end, making 'done' a real state and reducing user risk by avoiding data collection.", "body_md": "AI has made it trivially cheap to generate a large application. Describe a sprawling product and you get thousands of lines of plausible code back in minutes.\n\nSo it is worth saying plainly what I actually keep shipping: small tools. Comoji, Burly, Premail. Apps that do one thing, run on your own machine, and ask you to create no account at all.\n\nThat is not a limitation I am apologizing for. It is the whole strategy.\n\nWhen generating code is nearly free, the natural pull is toward more. More features, more settings, more surface area, because none of it seems to cost anything up front.\n\nBut the code is the cheap part. Everything after generation is where the real cost lives: supporting it, explaining it, keeping it secure, fixing it when it breaks, and deciding what it should refuse to do. A model can write a feature in a minute. It cannot carry that feature for the next three years.\n\nSo the more useful discipline in an AI-assisted world is not writing code faster. It is deciding what not to build. Small scope is how I keep that decision honest.\n\nLook at what I have actually put out, and the pattern is hard to miss.\n\nNone of these is trying to become a platform. Each one solves a single, specific annoyance and then gets out of the way. You can explain any of them in one sentence, which is not an accident. If I cannot describe a tool in one sentence, I usually have not decided what it is yet.\n\nA tool that does one thing is also a tool you can finish. A tool that does everything is a tool you maintain forever and never quite get right.\n\nThe second thing these apps share is that they run on your device and keep your data there. Comoji does its autocomplete locally and your typing never leaves the Mac. Burly routes your links on the machine and no URL is sent anywhere. Premail triages your mail on your own computer instead of piping it through someone else's servers.\n\nThis is the same instinct behind StockCar, which I wrote about separately: no account, no linking, your positions are not stored on a server. I keep landing in the same place because I keep asking the same question.\n\nBefore I add anything that needs a server or a login, I make myself answer:\n\nMost of the time the honest answer is that the account exists for the company's benefit, not the user's. Local by default removes an entire category of risk, because data you never collect is data you can never lose.\n\nIt is easy to read \"small, local, single-purpose\" as the modest option, the thing you settle for when you cannot build something bigger. I see it the other way around.\n\nA small tool is one a single builder can own end to end. That means:\n\nWith AI accelerating the parts that used to take a team, one person can now design, build, and ship a polished native app. But that leverage only holds if the app stays small enough for one person to keep holding. Scope is the variable that decides whether AI leverage compounds or collapses.\n\nFor a single-purpose app, done is a real state, not a moving target. Done means the one thing it promised works reliably, feels fast, and stays out of your way.\n\nThat makes the hardest work saying no. Comoji could grow a settings panel with forty options. Burly could try to manage your browsers instead of just routing links to them. Premail could become a whole new mail client. Every one of those additions would make the app bigger and the promise blurrier.\n\nSigning and notarizing a Mac app, making a picker respond instantly, filtering mail quietly enough that you forget it is running: that polish is where the time should go. Restraint is not the absence of ambition. For this kind of software, restraint is the ambition.\n\nThere is a compounding benefit to building this way that is easy to overlook. When an app is small, local, and account-free, a person can adopt it without a leap of faith.\n\nThere is no signup to abandon, no data to hand over, no wondering what happens to your information later. You download it, it does its job, and it does not phone home. That lowers the cost of trying it to almost nothing, and it means the trust you earn is real rather than extracted.\n\nIn a moment where AI makes it easy to flood the world with generic, data-hungry apps, the scarce thing is software people are actually comfortable letting into their day. Small and local is how I try to build that comfort in from the start.\n\nCheap generation changes how fast you can build. It does not change what is worth building. If anything, when everyone can produce more, the discipline to produce less of the right thing becomes the differentiator.\n\nSo I keep applying the same test to anything new I start:\n\nWhen the answer to all four is yes, the tool tends to be worth shipping. When it is not, I am usually about to build something bigger than I can stand behind.\n\nSmall, local, and finished beats big, hosted, and endless. That is the bet, and I keep making it.", "url": "https://wpnews.pro/news/why-i-build-small-local-software-that-does-one-thing", "canonical_source": "https://dev.to/mattsenter/why-i-build-small-local-software-that-does-one-thing-1e84", "published_at": "2026-07-18 20:44:39+00:00", "updated_at": "2026-07-18 21:28:10.160869+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-products"], "entities": ["Comoji", "Burly", "Premail", "StockCar"], "alternates": {"html": "https://wpnews.pro/news/why-i-build-small-local-software-that-does-one-thing", "markdown": "https://wpnews.pro/news/why-i-build-small-local-software-that-does-one-thing.md", "text": "https://wpnews.pro/news/why-i-build-small-local-software-that-does-one-thing.txt", "jsonld": "https://wpnews.pro/news/why-i-build-small-local-software-that-does-one-thing.jsonld"}}