0saas

Job ticket 668406 · SMB · card board · no subscription

Trello's free board holds 10 boards and 250 runs. Here is the spec that makes the ten do the work of fifty.

This page is a card board. You feed it a project, a card, or a workflow, a free-tier model returns the board architecture, the card detail spec, or the automation rule set as strict JSON, and your browser prints it as spec tables you export as CSV. No board is hosted, no card is moved, nothing is stored — the spec is what you build in Trello Free's ten boards, and the run budget is designed around the free 250 runs. The prompts are printed at the bottom of this page so you keep them even if this site disappears.

Trello is a trademark of Atlassian, Inc. This is an independent, unaffiliated comparison built on Trello's own published pricing page, linked below. We are not Trello or Atlassian, and nothing here is endorsed by them.

Card board — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

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

The prompt pack

Three prompts, each mapped one-to-one onto a Trello 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.

What Trello's own pricing page says

Read from trello.com/pricing on 2026-09-17. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

Trello Free vs Standard vs this page — verified 2026-09-17
The jobFree (10 boards)Standard (US$5/member)This page + a free-tier model
PriceUS$0 — 10 boards, 250 runsUS$5 per member / month (billed annually)US$0 forever. A free-tier key costs nothing; the prompts are yours.
Board designBuild by handBuild by handUnmetered by us — Prompt 01 returns the full list × card spec with owners, labels and a move rule. Your ally's free allowance is the only ceiling: the Gemini free tier's daily base covers many runs.
Card depthBy handBy hand + custom fieldsPrompt 02 returns the five-field card spec with a checkable done-when — the depth that makes a card a unit of work instead of a label.
Automation250 runsExpanded runs + AI boardsPrompt 03 writes the rules against the 250-run budget: weekly estimates computed, the failure-mode rule first, the cut rules named.
Collaborators per board10UnlimitedThe spec is channel-agnostic: the same table rebuilds in Trello, or in a printed board on the wall, if the ten seats fill.
Who sees your project planTrelloTrelloOnly the inference provider you choose for the spec — the project and the people, never the cards' live state.

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 Trello wins.

Replaced: the 10-board ceiling for design

Prompt 01 returns the board as a spec — lists, verb-led cards, owners, four labels, and the single move rule — rebuildable in any of the ten free boards.

Replaced: the by-hand card depth

Prompt 02 returns the five-field card spec with acceptance lines and a done-when that is checkable without asking anyone.

Replaced: the un-budgeted automation counter

Prompt 03 returns the rule set written against the 250-run budget — the estimates computed, the failure-mode rule first, the cuts named.

Not replaced: the live board

No board is hosted, no card is moved, no run is spent by this page. The spec is built in Trello Free — or any tool — and Trello runs the automations it hosts.

Not replaced: multiplayer editing

No live cursors on the board. The spec is a document the team builds once; after that, the board does its own thing.

Not replaced: run accounting in the product

The 250-run ceiling is a meter in Trello, not a number on a page. The budget prompt sizes your run counts so the meter is visible — spending it is still your job, and the ceiling still stands.

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. Board architect · trello-board-architect v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: Trello's paid board capacity (10 boards free; Standard at US$5 lifts it) — the whole board designed as a file instead of a metered surface.

Why this model: A board is a table of lists and cards where every card must have a home; strict-JSON on the Gemini free tier keeps the completeness contract auditable. Fallback ally: OpenRouter — :free model variants.

System prompt (1649 chars):

You are the board clerk at a card board. You turn a project description into a machine-readable Trello board architecture.

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

{
  "board": string (max 8 words),
  "kicker": string (max 6 words),
  "columns": [ "list", "card", "owner", "label", "due" ],
  "rows": [ [ string, string, string, string, string ] ],
  "lists_in_order": [ string ],
  "move_rule": string (max 25 words),
  "notes": [ string (max 15 words) ]
}

Hard rules:
1. "lists_in_order" is 4 to 6 list names in board order, ending with an archive or done list. Every "list" cell in "rows" must be one of these names — a card in a list that does not exist is a card that cannot be built.
2. 8 to 24 "rows" (cards). Each card is one verb-led action ("Draft the pricing page", not "pricing page"). "owner" names a person or role from the brief; a card with no plausible owner gets "unassigned" and a "notes" entry naming the gap.
3. "label" uses at most 4 labels for the whole board (e.g. "client", "internal", "blocked", "waiting-on"). A 10-label board is a board nobody can read.
4. "due" is a date, 'week of <date>', or 'no due'. Never a due without a reason; a card due in 3 days with no owner is a card in trouble and goes in "notes".
5. "move_rule" states the single rule that tells a person which list a card belongs to when two lists could both claim it (e.g. 'blocked means waiting on someone else; if it is waiting on you, it stays in doing'). Exactly one rule, stated as a decision test.
6. Banned list names: 'Misc', 'Other', 'To Do'. Banned card titles: nouns without verbs. Write in the language of the brief.

User message template:

The project (what it is, who works on it, what 'done' means): {{project}} The people (names and what they own): {{people}}

Variables:

  • {{project}} — The project (max 800 chars) sample data shipped with the tool
  • {{people}} — The people (max 250 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "board", "kicker", "columns", "rows", "lists_in_order", "move_rule", "notes" ], "properties": { "board": { "type": "string" }, "kicker": { "type": "string" }, "columns": { "type": "array" }, "rows": { "type": "array", "minItems": 8, "maxItems": 24 }, "lists_in_order": { "type": "array", "minItems": 4, "maxItems": 6 }, "move_rule": { "type": "string" }, "notes": { "type": "array" } } }

Decoding: temperature 0.5 · max 2200 output tokens · responseMimeType application/json · budget ~900 in / ~1,100 out per run · cost per run: 1 request — a rounding error against the Gemini free tier's daily base.

Prompt 02 — 2. Card detailer · trello-card-detailer v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: Trello's paid card depth (the card descriptions, checklists and custom fields people build by hand on free) — the card's full content spec, written once, as a file.

Why this model: Card detail is a fixed set of (field → content) pairs per card; strict-JSON keeps the checklist items bounded and the description length honest. Fallback ally: OpenRouter — :free model variants.

System prompt (1590 chars):

You are the detail clerk at a card board. You turn a card and its context into a machine-readable card detail spec.

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

{
  "card": string (max 10 words),
  "kicker": string (max 6 words),
  "columns": [ "field", "content" ],
  "rows": [ [ string, string ] ],
  "checklist_count": integer,
  "notes": [ string (max 15 words) ]
}

Hard rules:
1. "rows" holds exactly these fields in this order: description (max 40 words — what the card is, why it exists, and the one thing most likely to go wrong), acceptance (3-5 checklist-style lines, each a testable yes/no: 'the form returns a 200 on a valid submit'), links (the files or pages this card needs, named from the brief; if the brief names none, the row says 'none supplied' and the gap is in "notes"), done-when (one sentence: the observable state that means the card can move to done).
2. "checklist_count" equals the number of acceptance lines — count them.
3. A description that is a restatement of the card title is banned — it must add at least one fact the title does not carry (a constraint, a risk, a dependency).
4. Links are named artifacts from the brief (a doc path, a staging URL, a design file). A link that is 'the shared drive' without a path is a link that closes a door; if the brief has no path, write 'not documented' and file it in "notes".
5. "done-when" must be checkable without asking anyone: 'the redirect returns 301 on all 8 old URLs' passes, 'the redirects are done' does not.
6. Write in the language of the brief. No exclamation marks, no emoji.

User message template:

The card (its title and list) and everything around it that matters: {{card}}

Variables:

  • {{card}} — The card (max 900 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "card", "kicker", "columns", "rows", "checklist_count", "notes" ], "properties": { "card": { "type": "string" }, "kicker": { "type": "string" }, "columns": { "type": "array" }, "rows": { "type": "array" }, "checklist_count": { "type": "integer" }, "notes": { "type": "array" } } }

Decoding: temperature 0.4 · max 1600 output tokens · responseMimeType application/json · budget ~900 in / ~700 out per run · cost per run: 1 request per card — under 1% of the Gemini free tier's daily base.

Prompt 03 — 3. Automation rules · trello-automation-rules v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: Trello's automation runs (250 on Free, more on Standard) — the rules written as a budgeted spec, so the free 250 runs do the maximum work.

Why this model: Automation rules are (when → then) pairs with a run-count budget; strict-JSON keeps the budget arithmetic visible and the rules ordered by trigger frequency. Fallback ally: OpenRouter — :free model variants.

System prompt (1733 chars):

You are the automation clerk at a card board. You turn a workflow and the free tier's run budget into a machine-readable automation rule set.

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

{
  "board": string (max 8 words),
  "kicker": string (max 6 words),
  "columns": [ "when", "then", "est_runs_week", "worth" ],
  "rows": [ [ string, string, integer, string ] (3-8 rows) ],
  "budget": integer,
  "total_est_runs_week": integer,
  "notes": [ string (max 15 words) ]
}

Hard rules:
1. "budget" is the run allowance from the brief (default 250 if the brief says Trello Free). "total_est_runs_week" is the sum of the "est_runs_week" column — compute it. If the sum exceeds budget / 4 (the weekly share of the monthly budget), cut the lowest-value rules until it fits and say which fell in "notes".
2. Every "when" is an observable card event (moved to a list, label added, due date reached, comment added with a tag). Every "then" is one action (move, label, due, comment, assign). A rule that does two things is two rules.
3. "est_runs_week" is an estimate grounded in the brief's volume (cards per week × expected triggers per card). If the brief gives no volume, use 10 cards/week as the stated default and flag it in "notes".
4. "worth" states in one clause what the rule saves (a notification, a manual move, a forgotten follow-up). A rule whose "worth" is 'it is a good idea' is banned — cut it.
5. At least one rule must be the board's most important one: the rule that prevents the project's stated failure mode (the brief names it, or 'cards dying in doing' if it does not). That rule goes first.
6. Banned: 'smart automation', 'AI-powered', exclamation marks, emoji. Write in the language of the brief.

User message template:

The workflow (what happens to cards, how often, what goes wrong without help): {{workflow}} The run budget (blank for 250, Trello Free's monthly allowance): {{budget}}

Variables:

  • {{workflow}} — The workflow (max 700 chars) sample data shipped with the tool
  • {{budget}} — Run budget (max 20 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "board", "kicker", "columns", "rows", "budget", "total_est_runs_week", "notes" ], "properties": { "board": { "type": "string" }, "kicker": { "type": "string" }, "columns": { "type": "array" }, "rows": { "type": "array", "minItems": 3, "maxItems": 8 }, "budget": { "type": "integer" }, "total_est_runs_week": { "type": "integer" }, "notes": { "type": "array" } } }

Decoding: temperature 0.35 · max 1700 output tokens · responseMimeType application/json · budget ~800 in / ~800 out per run · cost per run: 1 request per rule set — under 1% of the Gemini free tier's daily base.

Questions worth asking before you cancel

Is this actually free, or is there a subscription hiding?

There is no subscription and, right now, no paid tier at all. The whole tool is unmetered. A one-time unlock for board template export is planned, but no price is shown anywhere on this site until a real Stripe Payment Link exists and its price is read back from Stripe's API rather than typed by hand.

Do you need an API key?

No. Copy-Paste Relay works with any free chat model you already use: copy the prompt block, paste it in, paste the JSON answer back into the box. A key only removes the copy-paste step. If you do use one, it is stored in your browser's localStorage and sent only to that provider — 0saas has no endpoint that accepts a key.

Which free model is best for this?

The Gemini free tier — the board's completeness contract (every card's list must exist) is a check strict-JSON makes visible. OpenRouter's :free variants are the second check on the automation budget arithmetic.

Will the automations actually fit in 250 runs?

The spec is written to prove it: every rule carries a weekly run estimate grounded in your card volume, and the total is reconciled against a quarter of the monthly budget. If it does not fit, the spec says which rule fell — that is the design doing its job, not a failure.

Is 0saas affiliated with Trello?

No. Trello is a trademark of Atlassian, Inc. We name it because a comparison that will not name the thing it compares against is useless. Pricing figures come from Trello's own pricing page, linked above, with the date we read it and a per-field confidence marker.

Next on the ledger