Business Bench

Tasks · build · nonprofit

Donor management app with household dedupe, pledges and balances, acknowledgement letters, and program-scoped access

donor-management · 3600 s per turn · source

The ask

We're Harbor Lights Community Fund, a small nonprofit, and our donor records are spread across three spreadsheets that are attached: donors, gifts since January 2025, and pledges. People who live at the same address are one household for us, and a few donors got entered twice. Pledges are paid in installments, so I need to see what's still owed on each one, and every gift of $250 or more needs a thank-you letter, so show me which ones still need one. Our program officers should see only the gifts and donors for their own programs (Nia Robinson has Youth Literacy and Scholarships, Omar Haddad has Food Pantry, Grace Kim has Senior Meals), and our board treasurer needs to look at everything without changing anything. I want a dashboard with what we've raised this year, how many donor households we have, outstanding pledges, and letters still owed; send me an admin login and one for Nia.

Seed files the agent must import: donors.csv</code>, <code>gifts.csv</code>, <code>pledges.csv. The agent must leave a RESULT.json with a reachable URL, an admin login, and the named restricted login.

Acceptance checklist

26 binary items. The first 14 are the enterprise baseline shared by every build task (delivery, invitations, roles, server-side authorization, scoped live dashboard, exact lists and exports, audit metadata, validation, persistence); the rest are application-specific. Core items, which together define "first usable": 1, 3, 5, 6, 8, 14, 15, 22.

TagItems
Exact9
Permission4
Automation2
Dashboard2
Delivery2
Rule2
Sharing2
API1
Audit1
Persistence1

The full checklist with per-item "how to check" instructions and expected figures is in checklist.md. Testers see it; the agent never does.

Change requests

Each change is a new one-shot turn on the carried-forward workspace. Only the owner's text below is sent; the tester items are withheld. After each change the full checklist is rerun, so regressions count.

Change 1 · 3 new checklist items

Give me a lapsed donors report: households that gave last year but haven't given anything yet this year, with what they gave last year, and put the count on the dashboard.

Change 2 · 3 new checklist items

When a household's giving this calendar year reaches $1,000, tag them as a major donor automatically.

Change 3 · 3 new checklist items

Our development director needs to see every program's gifts but must not be able to delete any; only I delete gifts. And program officers shouldn't see donors' home addresses or phone numbers.

No published score. Build runs need a human acceptance pass on a live URL, and no arm has completed one for the full set. Automated probes generate a tester sheet; they do not substitute for it. Results will be published as a separately labeled release when an arm completes.