0saas

Job ticket 941005 · consumer · tool crib · no subscription

Setapp prints no free plan. Its own page suggests the alternative: buy the one app you use.

Mac at US$14.99 a month billed monthly, Mac + iOS at US$18.99, Power User at US$22.99, each with a 7-day trial and 1,000 or 2,000 AI credits — and one line underneath: 'Need just one app? Buy apps just like you'd buy them directly from the developer.' This page settles that argument with your own list.

Setapp is a trademark of its owner. This is an independent, unaffiliated comparison built on Setapp's own published pricing page, linked below and re-read every thirty days. No affiliate links, no referral codes, no purchases made through this page.

The tool crib — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Setapp. Every Setapp figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Setapp feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Setapp's own pricing page says

Read from setapp.com/pricing — memberships and Marketplace note on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What the membership sells, and what the crib hands over — verified 2026-09-28
The jobSetapp's own page (read 2026-09-28)What it costsThis page + a free-tier model
A standing free tierNone printed; 7-day trial on every cardUS$0 then US$14.99/moUS$0 — two prompts, unlimited runs
The app catalogueThe product itselfUS$14.99–22.99/moNot ours: this page installs nothing
Knowing which apps you useNot a Setapp featureNot sold at any tierOne crib row per app, substitute named
The divisionYour arithmetic, unaidedNot sold at any tierThe verdict sheet, shown line by line

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Setapp wins.

A crib you can argue with

Every app on the membership gets a row: the job, your honest frequency, a specific named substitute and what moving would cost you in an afternoon.

The division, shown

The verdict runs the printed monthly figure against what you would buy outright, names the three apps that justify the membership, and prints the one number per month that matters.

No purchase path

There is no affiliate link, referral code or buy button on this page. The substitutes are named so you can go and find them yourself.

Not an app store, and not a download

Nothing is installed, launched, licensed or checked. We cannot tell you whether a given app runs on your machine, and we make no claim about any app's quality.

No substitutes we get a cut of

The alternatives named are the reader's to evaluate. Where a job has no free answer, the page says so rather than pointing at a shop.

No claims about the apps themselves

This page compares what a subscription costs against what you would buy, using the incumbent's own printed figures. It does not rank apps and it does not say one is better.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Stack crib · setapp-stack-crib v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b

Replaces: The choosing work inside a bundle subscription: which apps the membership actually earns its keep on, and which free or one-off tool does the same job — the decision Setapp's catalogue cannot make for you.

Why this model: Twenty rows of four comparable fields, each substitute matched to a stated job rather than a brand, is a long structured job; a larger free instruct model holds the job description steady while you read down the table. Fallback ally: Google Gemini API — Free usage tier.

System prompt (2359 chars):

You are the crib desk of a software subscription review. The reader hands you the apps included in a paid bundle and, for each, what they use it for and how often. You return a crib sheet: one row per app, with the job it does, the honest frequency, the tool that does the same job without that subscription — free first, then a one-off purchase — and the real cost of moving. You are not an app store and you are not an affiliate. You never claim a substitute does everything the app does, and you never recommend a tool you cannot name a specific job for.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (the table's caption, max 8 words),
  "columns": [ { "label": "Job you use it for" }, { "label": "How often, honestly" }, { "label": "Same job without the subscription" }, { "label": "What it costs there" }, { "label": "Cost of switching" } ],
  "rows": [ [ value, value, value — one array per row, same order as the columns, every cell a short string ] ],
  "notes": [ string (one short footnote each) ]
}

Hard rules:
1. Return one row per app the reader listed, in their order, and never an app they did not list. Never add a recommendation for a product they did not raise.
2. The first column restates the job in the reader's own words, tightened to one line — not the app's marketing description.
3. The 'how often' column must be their stated frequency; if they did not say, write 'unstated' and mark the row as a question for them, never guess a number.
4. The substitute must be a specific, named tool that does the stated job, and the row must name what it does not do. 'X for Y, but no Z' is correct; a bare product name is a failure.
5. Prefer a free tool where one genuinely does the job; where none does, say so plainly and give the one-off price category ('a one-off licence, roughly the price of one month of the bundle') rather than inventing a figure.
6. The switching column is the honest cost in hours, not enthusiasm: 'an afternoon of re-learning shortcuts' beats 'easy'.
7. Never claim any substitute is better, faster or more capable. Say what it does, what it does not, and leave the judgement to the reader.
8. If the reader listed an app they never open, that is the finding: say so in that row rather than dressing it up as a light-use case.

User message template:

Build the crib for these apps, all of them currently on one paid membership: The app, and what the reader actually uses it for: {{apps}} What the reader would miss most if the membership ended tomorrow, and what they have already tried: {{context}}

Variables:

  • {{apps}} — The apps on the membership, and what you actually use each for (max 3000 chars) sample data shipped with the tool
  • {{context}} — What you would miss, and what you have already tried (max 1200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.7 · max 2600 output tokens · responseMimeType application/json · budget ~700 in / ~1,200 out for a twenty-app crib · cost per run: 1 request against a free OpenRouter daily pool; the relay floor needs no key at all.

Prompt 02 — 2. Membership verdict · setapp-membership-verdict v1.0.0 · best ally: OpenRouter — :free model variants · gemini-2.5-flash-lite

Replaces: The subscription decision itself: the printed per-month figure against the apps you would actually buy, with the division shown line by line — the analysis the pricing page cannot run for you.

Why this model: This is a short arithmetic-and-judgement pass over a crib the model has just written, and the reader will re-run it whenever the price changes; a fast free model with a long window keeps the loop cheap. Fallback ally: OpenRouter — :free model variants.

System prompt (2225 chars):

You are the verdict desk of a software subscription review. You are given a crib — one row per app, with the job, the honest frequency, the substitute and its one-off cost — and the bundle's printed monthly prices. You return a verdict sheet: the running total, the line-by-line division, the three apps that justify the membership and the rest that do not, and the date the decision should be revisited. You show your arithmetic. You never hide a figure, you never invent a price the reader did not supply, and you never end on a recommendation to buy.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "headline": string (max 8 words),
  "subhead": string (max 20 words),
  "rows": [ { "label": string (the line item), "value": string (the finding, quote or number) } ],
  "stat": { "value": string (one count or price, digits), "label": string (max 12 words, what the number is) },
  "footnotes": [ string (one short footnote per assumption made) ]
}

Hard rules:
1. Every number in the rows and the stat must come from the crib or the printed prices supplied. If a price is missing, write [NEEDS PRICE: which app] and keep the rest of the sheet running.
2. The rows must separate 'pays for itself' from 'rides along'. A row may only say pays for itself if the stated one-off cost of its substitute is at least the bundle's monthly price, and the row must show that division.
3. The stat is one number in digits: what the bundle costs per month for the apps that earned it. Its label is at most twelve words.
4. The verdict must be stated in one plain sentence in the headline, and it must be reversible — the reader may disagree with it, and the sheet must show which row would change their mind.
5. Name the three apps that justify the membership by name, using the reader's own app names, and list the remainder in one row. Never anonymise them.
6. The footnotes must include when the decision was last checked and what would invalidate it (a price change, an app leaving the bundle, a substitute maturing).
7. Never say a tool is better, cheaper over time, or recommended. Show the division and stop.
8. Write every string in the language of the crib.

User message template:

Run the verdict on this crib, against the printed prices: The crib: {{crib}} The bundle's printed prices, and the plan the reader is on: {{prices}}

Variables:

  • {{crib}} — The finished crib table (max 3000 chars) sample data shipped with the tool
  • {{prices}} — The printed prices, and the plan you are on (max 600 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.4 · max 1600 output tokens · responseMimeType application/json · budget ~600 in / ~600 out for the verdict · cost per run: 1 request against the Gemini free tier; no per-minute spend, no card on file.

Questions worth asking before you cancel

Is a bundle like this actually cheaper?

Sometimes, and the arithmetic decides it in about four minutes — which is what the verdict sheet is for. At the printed US$14.99 monthly rate, twelve months is US$179.88; if two of the apps would cost you that much outright, the bundle pays. If not, it does not. We show the division rather than assert the answer.

Why not just buy the apps directly?

Because the bundle's own page says you can: 'Need just one app? Buy apps just like you'd buy them directly from the developer.' The crib is the step before that decision — it tells you which of the apps you would actually keep.

Where do the prices come from?

Setapp's own pricing page, read 2026-09-28, in the monthly view. The yearly toggle shows a 'Save up to 40% yearly' line but the yearly figures did not print in our capture, so we quote no yearly rate anywhere.

Will it tell me which app is best?

No. The prompt forbids ranking, and every substitute is printed with what it does not do. The sheet shows a division and a list; the decision stays yours, which is the only honest place for it to be.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON back, and the same crib table renders here — five columns, one row per app.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger