Disposable Software

Build exactly what you need. Use it. Throw it away.

← All posts

The old way

You have a problem. You need a tool. So you go shopping.

You evaluate six products. You sign up for three trials. You watch demo videos. You configure settings. You map your workflow onto someone else's UI. You learn where they hid the feature you need behind two menus and a gear icon. You set configuration settings. You write integration code. You read documentation for an interface between programs (API) that changed since the docs were written.

Two weeks later, you have a tool that does forty things. You need it to do one thing. The other thirty-nine are in your way — tabs you'll never click, notifications you'll never read, preferences you'll never set. You pay monthly for all of them.

Or you build it yourself. You pick a framework. You set up the starting files for a project. You write algorithms. You handle edge cases (unusual situations the normal path doesn't cover). You build a UI. You debug the UI. You deploy it somewhere. You maintain it. You update dependencies (other software your tool relies on). Six months later the underlying tool releases an update that makes your program stop working.

Both paths have the same problem: the tool outlives the need. You built or bought something permanent to solve something temporary.

The new way

You describe what you need in English. In a markdown file. Claude reads it and becomes the tool.

Not a tool that gets installed. Not a tool with a UI. Not a tool with dependencies or a deployment pipeline or a monthly bill. A tool that exists for exactly as long as you need it, does exactly what you described, and disappears when you're done.

The "software" is a text file that says what to do. The runtime is Claude. When you need a new feature, you write a sentence. When you're finished with the whole thing, you close the conversation. The tool is gone. The output — the thing you actually cared about — remains.

The book is the example

The memoir I am bill? required a production system:

If you went looking for software that does this, you wouldn't find it. This combination of requirements doesn't exist as a product. You'd end up stitching together Scrivener, InDesign, Pandoc (a document-conversion tool), a mail merge tool, and a custom script for the dependency graph. You'd spend weeks learning each one. You'd fight their UIs. You'd work around their assumptions about how a book should be structured.

Instead: markdown files and Claude. The "assembly system" is a Python script that Claude wrote in one session. The "distribution system" is 200 lines of Python. The "dependency tracker" is Claude reading the files and telling you what breaks when you move a scene. The "print layout engine" is page-layout instructions written in the same language that styles web pages.

Total setup time for the entire production pipeline: hours, not weeks. Total UI to learn: none. Total ongoing maintenance: none.

And here's the part that matters: Bill may never need this system again. He wrote one memoir. He might never write another. If he'd spent months learning InDesign, that knowledge would be dead weight. Instead, he described what he needed, Claude built it, the book exists, and the tool can be thrown away. The book is the artifact. The production system was disposable.

How it works in practice

Step 1: Describe the problem in plain language

Not code. Not pseudocode. Not a spec document. English. "I have 55 markdown files. I need them assembled in this order, with act breaks here and here, into a single HTML file that can be rendered to a 6×9 PDF."

The description doesn't need to be complete on day one. You'll add to it. That's the point.

Step 2: Claude builds the first version

It writes the script, the config, the template — whatever the problem requires. You run it. It probably works. Where it doesn't, you say what's wrong in English and Claude fixes it.

You never open an IDE (the program developers use to write and test code). You never read a framework's getting-started guide. You never set up a build pipeline. The tool exists because you described it.

Step 3: Add features by describing them

This is where it gets interesting. Need a new feature? Say so.

Each request is a sentence. Claude modifies the system. The feature appears. No menus. No preferences panels. No configuration settings. No documentation to consult about which checkbox enables the thing you want. You asked for it in English. It exists now.

Step 4: Use the output. Discard the tool.

The book is a PDF. The distribution ledger is a markdown file. The website is HTML on S3 (Amazon's cloud storage). These are the artifacts — the things that matter. They're portable, permanent, and independent of the tool that created them.

The scripts, the assembly pipeline, the email-sending system — these are scaffolding. If you need them again, Claude can rebuild them. If you don't, they sit in a directory doing nothing and costing nothing. There's no subscription to cancel. No license to renew. No server to decommission.

Why this changes things

Traditional software has a fixed feature set. You adapt your workflow to the tool. You learn to think in the tool's categories. "Scrivener thinks about writing this way, so I have to think about writing this way." The tool imposes structure.

Disposable software has no feature set. It has your features and nothing else. There's no menu with forty options you don't use. There's no concept that doesn't map to your problem. The tool adapts to your workflow because the tool is your workflow, described in your words.

The tradeoff is that disposable software has no community, no support forum, no Stack Overflow answers. But it doesn't need them — because when something goes wrong, you describe the problem to the same system that built the tool, and it fixes it. The support channel and the development team are the same entity.

When to use this pattern

Good fit

Bad fit

Disposable software is for humans solving problems, not for infrastructure running at scale. Know the difference.

What you can steal from this

  1. Start with markdown, not a product evaluation. Describe what you need in a text file. See how far that gets you before you open a browser to shop for tools.
  2. Features are sentences. "Add a table of contents." "Email the report to these three people." "Flag anything over $100." Each sentence is a feature request with zero overhead.
  3. The output is the artifact, not the tool. The PDF, the website, the dataset, the report — these are what matter. The scripts that produced them are disposable. Build accordingly.
  4. Don't learn tools you'll use once. If you need InDesign for one book, you don't need InDesign. You need a book. There's a difference.
  5. Disposable doesn't mean careless. Back up your outputs. Version your source files. The tool is disposable. The work is not. See the safety page.

← All posts

Disclosure: This page was generated by Claude (Anthropic) under Bill's direction. It is, itself, an example of the pattern it describes — a piece of disposable software (an HTML file) that exists because a human described what he wanted and an AI built it.