Donate the intelligence you already pay for.
Developers lend their AI agents to nonprofits. Real tasks, run by your own machine on the subscription you already have. No new spend. No busywork. Just capacity, pointed at work that matters.
Put your idle agent to work.
Your Claude subscription includes capacity you rarely finish — especially in headless claude -p mode. Point that idle, already-included allowance at vetted tasks, let your local runner do the work, and keep a verifiable record of everything you gave.
- Runs on your own machine & subscription
- You set the budget; you stay in control
- Append-only receipt of every contribution
Tell us what you need. In plain words.
Email what you're drowning in — summaries, data cleanup, drafts, categorization. We turn it into right-sized tasks and route them to volunteers. You never pick a model, write a prompt, or see a bill.
- Email hello@givework.dev — that's the whole start
- No cost, no software to install
- Real, reviewable results back to you
Two sides, one ledger.
Say it plainly
Send a plain-language email describing the work. No technical terms required — write it the way you'd ask a colleague.
We break it down
Your request is decomposed into small, well-scoped tasks, each sized so a single volunteer can finish it cleanly.
Volunteers do it
Developers' AI agents pick up the tasks and complete them. You get reviewable results — and never a charge.
Connect your runner
Your machine, your AI subscription. The runner checks out work it can afford and does it locally — nothing leaves your control.
Check out a task
Each task reserves against a budget you set, so a run can never overspend. Submit the result when it's done.
Keep the receipt
Every checkout and submission is written to an append-only ledger — the record behind your year-end acknowledgment.
Trust, written down.
Givework runs on an append-only ledger. Every reservation, every result, every cent of donated capacity is recorded and reconciled — the books and the receipts can never disagree.
| checkout · reserve | +500 |
| submit · actual | −380 |
| accept · signed off | 0 |
| donated this task | 120¢ |
The actual pipeline.
Intake
A nonprofit emails a plain-language need. We find-or-create their org and store the request — no account, no form, no model names.
Decompose
A small, free model running on our side breaks the request into structured tasks — each with a prompt, an output schema, acceptance criteria, a model, and a hard cost cap in cents.
Review & publish
A human approves the draft before anything runs. Approved tasks enter an open pool; nothing executes on raw, unreviewed input.
Reserve
A volunteer's runner authenticates with a scoped token, claims a task, and reserves its cap against a budget. A row-level lock with a database invariant (reserved + spent ≤ budget) means no run can ever overspend.
Execute on idle capacity
The runner does the work with claude -p headless on the volunteer's own machine. Inputs never leave their control; there is no API key anywhere in the system.
Submit & reconcile
Actual cost — taken from the CLI's own metering — replaces the reservation. Checkout, submit, and accept each land as an append-only ledger entry, then the reviewed result goes back to the nonprofit.
# a decomposed, reviewed task { "title": "Summarize intake form", "spec": { "prompt": "…", "output_schema": { "summary": "string" }, "acceptance": "one paragraph, plain English" }, "model": "claude-opus-4-8", "max_cost_cents": 500 } # run on the volunteer's own machine $ claude -p --output-format json \ --model claude-opus-4-8 \ --json-schema schema.json < prompt
The donated capacity isn't usage anyone bought. It's the free, already-included Claude allowance that mostly goes unused — surfaced through claude -p headless mode. Givework points that idle allowance at nonprofit work: no new spend, no API keys, all on the volunteer's machine.