Pipelines
Most utility sites are a directory of unrelated pages: you download from one, upload to the next, and do the bookkeeping yourself. Here every tool consumes and produces the same typed asset, so a chain can be checked before it runs rather than failing halfway through.
Build one
Pick a starting kind, then add steps. Only the tools that can accept what the previous step emits are offered.
What are you starting with?
Ready-made
Each of these is one run instead of four tabs and three downloads.
Web-ready PNG
Restore an old photo, then ship it
One image → a full favicon set
How the checking works
Every tool declares what it accepts and what it produces, drawn from one closed set: text, JSON, bytes, an image, audio, video, a table, a document, a tree, a file, a URL, a colour, or a list of any of those. A step can follow another when the second accepts something the first produces.
Where the kinds nearly line up, a single-hop coercion bridges them — JSON to text, a file to bytes, a colour to a hex string. Only one hop, deliberately: a two-hop chain would too often produce a surprising result, and it is better to make you add the step you meant.
A step marked batchable maps over a list instead of choking on it, so “compress these forty images, then zip them” is one pipeline rather than forty runs and a manual gather.
todododo runs pipelines in your browser wherever every step can. A chain that includes a server-side step says so before you run it.