26 May 2026 · 6 min read

Why every Plain tool is a single .html file

Plain ships its tools as single .html files. You download one. You open it in a browser. It works. Your data saves to your own machine via localStorage, never crosses a network, never gets sent to a server we operate. There is no account. There is no login. There is no syncing.

That is a deliberate choice, not a constraint. I want to write down why, because almost every conversation about it starts with “but how do you scale” or “but what about features X, Y, Z” — and the answer to both is the same sentence written from two angles.

What I had to unlearn first

Most software-as-a-service starts from a comfortable architecture: a database, an app server, a client that talks to the server, an auth layer, a billing integration, a queue, observability, a deploy pipeline. That stack is the default not because it’s correct for every problem, but because it’s correct for the kind of company that needs to renew an annual contract every year.

The stack reflects the commercial model more than the product. If your revenue depends on stopping the customer from leaving — and most SaaS revenue does — then your software has to do the thing it does inside your walls. Your customer doesn’t really own the artifact. They own a temporary right to access it. They pay every month to renew that right.

This is fine for some kinds of software. It is the right model for a CRM with hundreds of seats and real-time collaboration. It’s the wrong model for a debt payoff calculator someone uses six times a year.

When I sat down to build Plain, the first question wasn’t “what tools should we make.” It was “what is the right shape for a small, useful tool you buy once and own forever.” The standard SaaS stack is not the answer to that question. It’s a much heavier scaffolding than the product needs.

What a single .html file gets you

A single .html file is small. The Debt Snowball vs Avalanche Calculator is under 80 KB. You can attach it to an email. You can store it in iCloud Drive. You can put it on a USB stick. You can open it on a laptop with no internet on a transatlantic flight.

It runs everywhere a browser runs. That means desktop, laptop, tablet, phone. You don’t have to think about which platform. The browser handles the layout, the rendering, the input events, the storage. You write HTML, CSS and a small amount of JavaScript and the operating system takes care of the rest.

The data lives in localStorage. That’s a browser API that gives you a small, persistent key-value store that’s scoped to the file’s origin. For a static .html file opened from disk, the origin is the file itself. That means: the file you bought is also the file that owns your data. You back it up by copying the file. You move to a new device by moving the file. You delete your data by deleting the file. There is no third party in the loop.

There’s no auth. There’s no account. There’s no password reset email. You don’t lose access because we forgot to renew a domain, or because our hosting provider had an incident, or because we got acquired and the new parent company decided to sunset our product. We can’t sunset what you already own.

What you give up

I want to be honest about the trade-offs because they are real.

You don’t get real-time multi-device sync. If you enter data into the calculator on your laptop, it doesn’t appear on your phone. You can solve this by saving an exported file to iCloud or Dropbox, but the syncing is yours to arrange.

You don’t get a server-rendered shareable link. If you want to send a debt-payoff plan to your partner, you can’t paste a URL. You’d export to PDF or copy-paste the numbers.

You don’t get push notifications. No “reminder to log this week’s run.” The tool is dormant until you open it.

You don’t get free updates the way SaaS does them. When we ship a new version, you re-download the file. The old file you bought still works fine — that’s the point — but the new one is a separate purchase. (We tend to send version 1.1, 1.2 etc. to existing customers free for a while; that’s goodwill, not contractual.)

These trade-offs are not bugs in the model. They’re the cost of owning the artifact instead of renting access to it. For the kind of tools Plain makes — budget calculators, planners, trackers, single-purpose utilities — the trade is overwhelmingly worth it. For a real-time collaborative document editor, the trade is obviously wrong, and we wouldn’t build that as a single .html file.

What it looks like in practice

Inside each file:

  • A <style> block with the same design tokens across the catalogue — cream background, ink text, Inter font, generous line-height.
  • Plain HTML for the structure. Forms, tables, sections. No framework.
  • A small <script> block — usually under 500 lines — that wires up inputs to outputs, handles localStorage persistence, and renders any charts or tables.
  • A LICENSE and a README packed alongside in the download zip.

No build step. No bundler. No dependencies to update. No node_modules to audit. Open the file in a text editor and you can read every line.

That last point matters more than it sounds. If you bought a tool from Plain and you didn’t trust us, you could open the .html file and read the source to verify that it really doesn’t make network requests. You can’t do that with a SaaS product. The opacity is structural.

The commercial side

Selling a single file once is a different business model than selling a subscription. The unit economics are simpler. The customer relationship is honest: we made a thing, you decided it was worth more than the price, you bought it, the transaction is complete. No retention loop. No churn calculation. No prompting you to upgrade.

It also means we have to keep making new tools. A subscription business can coast on a flat feature set for years and still grow. A one-off business has to ship. That’s a forcing function I welcome.

We price each tool to reflect the value of the specific job it does, not the size of a market. The Debt Snowball vs Avalanche Calculator is $12. The Claude Skills Pack for Solo Founders is $39. The Founder’s Book of Scrolls is $7. None of them are loss leaders. None of them are bait. Each one is priced where someone who understands what it does would happily pay it.

If you want all of them, there will eventually be a bundle. Probably around $49 for the early one, climbing as the catalogue grows.

Why I’m writing this down

Because the next sentence I expect to hear is “this won’t scale.” And the response is: it doesn’t need to. We’re not building a billion-dollar platform. We’re building a small, calm shop that ships useful files. The ceiling on that is high enough — there are thousands of niches where a single-file tool would solve a real problem if anyone bothered to make one — and we don’t have to compete with the venture-funded incumbent because we’re not playing the same game.

If you’ve been quietly tired of every productivity tool turning into a $19/mo subscription with a notification system and an AI feature you didn’t ask for, Plain is the other thing. Open the file. Use it. Close the tab.

The file is yours.


If this resonated, the catalogue is here. We ship one tool a week.