Rough

Malleable software

Software that users can change

New to the term? Start with the definition. If you'd like to be on this list, please contact us.

Spreadsheets

Google Sheets

Formulas & Apps Script

A formula in one cell reshapes the meaning of every other. Apps Script adds custom functions and menus for the parts formulas cannot reach.

Microsoft Excel

Formulas & Office Scripts

People build genuinely new tools inside a spreadsheet, calculators, trackers, and workflows the vendor never shipped, using formulas and macros.

Developer tools

Visual Studio Code

Extension API

Add commands, languages, debuggers and whole UI panels through an extension API, then install them from the marketplace or your own disk.

Raycast

Extensions

Write extensions in React and TypeScript that add new commands and views to the launcher, and publish them to the store.

GNU Emacs

Emacs Lisp

Redefine almost any behaviour of the editor while it is running, in the same language the editor is largely written in.

Adaptive software

A close cousin, worth keeping separate. Malleable software is reshaped by the people using it. Adaptive software reshapes itself to each user.

Adaptive

Differ

Every user gets their own version of the app. An agent watches how each person uses the product and ships a per-user variant, within guardrails the team sets.

How does a product get on this list?

A product needs a surface that clears the bar we set out in the explainer, and we need to be able to link to the vendor's own documentation for that surface. Pointing at the docs keeps us honest, and it means you can check any entry here for yourself.

Some of these surfaces ask for a little code and some ask for none. We haven't tried to settle the argument about where that line should sit. We've written about how we think about it over here instead.

Make your own product malleable

Rough adds a malleable surface to your product, so the people using it can build the small features they need themselves, inside your app and within the limits you set.