The engine is built to do more good next month than this month, on its own, inside its written rules. Every night the Foundry measures the week, switches on the levers it may switch on itself, drafts the moves that need a person, tells the search engines what changed, and once a week asks the Voice for new ideas. Everything it can do is written below before it does it.
Deeds = things done outward or kept true: posts, reposts, archives, pairs, link corrections, button presses. Never counted: dormant lines, failures, the engine talking about itself.
auto: the engine switches it on itself when the trigger is true. draft: it writes the case for the desk; a person decides and writes the job. owner: needs an account, a key or money; it waits and says so.
| Move | Kind | Mode | Status | Why · what it does · how it is measured |
|---|---|---|---|---|
| Scout for organizations asking for volunteers | deeds | auto | live since 2026-09-22 | an organization asking for hands is the cleanest repost there is, and it feeds the Volunteer Corps real orders. It would: adds a 'volunteers needed' search to the Scout; reposts up to 2 a day; lists them as orders. Measure: volunteers-needed posts reposted per week. |
| Scout for free food and community fridges | deeds | auto | live since 2026-09-22 | food information passed on the same day is a deed with no downside. It would: adds a 'free food' search to the Scout and lists finds as orders (share it) for Search & Rescue. Measure: free-food posts surfaced per week. |
| Repost up to 5 lost-animal notices a day (from 3) | deeds | auto | not yet | reposting lost animals is the most useful thing the account does; the cap was a first-week caution. It would: lost-animal reposts 3 → 5 a day, still only posts under 72 hours old. Measure: lost-animal reposts per week, and none failing. |
| Post the weekly report every Monday | reach | auto | not yet | one honest weekly summary is how people who do not visit daily learn what happened. It would: adds one Monday post linking the weekly report. Measure: Monday report posts sent. |
| Tell search engines about the day's pages (sitemap + IndexNow) | reach | auto | live since 2026-09-22 | being known starts with being findable; this is free and asks nothing of anyone. It would: publishes /sitemap.xml and /robots.txt and pings IndexNow nightly with the pages that changed. Measure: pages submitted per night, accepted. |
| Offer an embeddable 'today in your borough' widget | reach | auto | live since 2026-09-22 | a community site that shows the day's real ways to help spreads the deeds without a single extra post. It would: serves /embed/today.js; any site can paste one line. Measure: widget loads per week (counted, no tracking of who). |
| The Keeper checks 60 links a run (from 30) | deeds | auto | switches on tonight | a bigger directory needs more checking; still only 404/410 removes anything. It would: link checks per run 30 → 60. Measure: corrections recorded per week. |
| Translate the ways-to-help board into Spanish and Chinese | deeds | draft | not yet | half the city does not read English first; the listings are already real, only the words are missing. It would: a reviewed translation per language (Workers AI, free), shown beside the English. Measure: translated listings per week; corrections from reviewers. |
| An organization request inbox | sources | draft | not yet | requested work beats discovered work; one concrete need per organization, updated by them. It would: a form for organizations; needs become orders; 'still open?' every 14 days. Measure: open requests, and how many were reported done. |
| Add a neighborhood paper as a source | sources | draft | not yet | more local stories means more good news to pass on and a truer tone reading. It would: one more RSS source, tagged to its borough. Measure: stories per day from the new source. |
| A second city pack | reach | draft | not yet | the engine is a pattern, not a place; a second city proves it. It would: a city pack (sources, boroughs, weather zones) behind /city/<name>. Measure: deeds per day in the second city. |
| Open a Mastodon account | reach | owner | not yet | bots are welcome there; a second network doubles the reach of every repost. It would: the daily set and the reposts go out on Mastodon too. Measure: posts and reposts per week on Mastodon. Needs: a Mastodon account marked as a bot, connected with CONNECT-MASTODON.cmd. |
| Open a Telegram channel | reach | owner | not yet | a channel is a daily digest people opt into; nothing is pushed at anyone. It would: the daily set goes to the channel. Measure: subscribers, posts per week. Needs: a Telegram bot token and channel, connected with CONNECT-TELEGRAM.cmd. |
| Use @good.psyoptin.com as the Bluesky handle | reach | owner | waiting on the owner | a domain handle is a trust mark that costs nothing. It would: the account's handle becomes the site. Measure: done or not. Needs: in Bluesky settings: change handle → 'I have my own domain' → good.psyoptin.com (the engine already serves /.well-known/atproto-did). |
| Wake the mail hand so pairs get their one intro email | deeds | owner | not yet | pairs are being made with nobody to introduce them. It would: one intro email per pair when both asked; digests later. Measure: intros sent per week. Needs: SENDGRID_API_KEY + MAIL_FROM (free tier). |
| Connect a support link | money | owner | not yet | people are showing up; the ledger has a place for them to help cover costs and nowhere to click. It would: the Keep it running button switches on. Measure: dollars on the ledger. Needs: SUPPORT_LINK (Ko-fi, Buy Me a Coffee or a Stripe payment link). |
| Move the Voice to Claude | deeds | owner | not yet | the free model is used up most days; a stronger model grounds better and costs about a dollar a day at this volume. It would: the Voice answers on Claude Haiku under a daily dollar cap. Measure: conversations per day, complaints per week. Needs: ANTHROPIC_API_KEY (BRAIN_DAILY_USD caps it, default $1/day). |
| Wake the Librarian (archive.org keys) | deeds | owner | not yet | public-interest pages disappear; saving them is a deed that lasts ten years. It would: 30 saves a day. Measure: pages archived per week. Needs: WAYBACK_ACCESS_KEY + WAYBACK_SECRET_KEY (free archive.org account). |
Given by the owner on September 23, 2026. The pattern behind them: act in the gaps humans forget (stale threads, mismatched inventories, 3 a.m. questions, two agencies that never talk, a form someone almost finished), never as a secret friend, never by messaging a stranger. Every one is recorded here with what it needs; the ones marked live are built.
| # | Idea | Verdict | What it needs |
|---|---|---|---|
| 1 | The aftercare comment Months later the link in an answer is dead; the bot updates only threads it is already in: 'Update (bot): that number is now X; archive of the old page is Y.' | auto | the Keeper already finds dead links; the update goes on the engine's OWN posts only (its own threads), never a stranger's |
| 2 | The translation-for-the-block Say the same notice in the languages actually spoken on that street, from census and school-district data, not from profiles. | draft | the engine translates its OWN board (Workers AI, free) into each borough's top languages from ACS data; it never comments a translation onto a stranger's post |
| 3 | The 'you already solved this' comment Match a new rare problem to an old resolved thread and quote the sentence that fixed it. | owner | a forum with an official bot API or a moderator allowlist; commenting on strangers elsewhere is refused |
| 4 | The accessibility patch 'This venue's elevator is listed out of service since Tuesday.' A fact the host did not know they needed to post. | draft | the MTA elevator/escalator outage feed (API key) or NYC 311 elevator complaints; then it is a line on the engine's own event listings, not a comment on the host |
| 5 | The recipe-allergy remix Only where bots are allowed and only in reply to someone who asked; cites three tested swaps from other threads. | refused | off-mission and it comments on strangers |
| 6 | Email the institution, not the human '12 people on your GED waitlist live within a mile of this free tutoring session.' The library decides whether to tell patrons. | draft | public waitlist counts by branch plus geocoded sessions; then a desk draft to the library, sent by a person |
| 7 | The almost-sent letter Someone pastes a panic about an eviction, a denied benefit, a medical bill. The bot does not email anyone. It hands them a calm, cited draft to the right office with a checklist. | live | nothing: /letter, on the Voice, $0; the person sends it, not the engine |
| 8 | The matching-grant ping A public fundraiser describes a bill that matches a hospital charity-care policy; one two-line note to the owner who posted a public contact. | draft | a maintained list of NYC charity-care and county grant policies; then a desk draft, sent by a person |
| 9 | The two-inbox handshake 'I can drive Thursdays' meets 'I need a ride to dialysis Thursdays': one expiring intro, both must reply YES, silence means no. | owner | the mail hand (SENDGRID_API_KEY + MAIL_FROM); the Matchmaker and the signals already do the pairing and the consent |
| 10 | Your volunteer shift and this surplus expire together 40 loaves hit their date at 6; a church van sits idle 4 to 6. Email the two coordinators, not the public. | draft | a food bank or pantry willing to share inventory times (the organization request inbox is the door) |
| 11 | Opposite-schedule companionship People whose awake hours overlap with nobody they know: a night nurse and a retiree abroad who both want a 20-minute voice-memo swap. Introduce, then leave. | live | nothing: a new signal tag, 'odd-hours company'; the Matchmaker pairs it like any other |
| 12 | Skill-debt matching Ask the person who wrote the perfect answer two years ago and went quiet, if they opted into 'teach one thing a month'. | owner | a platform whose API allows reading old answers and an opt-in list; until then, the 'mentoring' signal tag covers the opt-in half |
| 13 | Shared-obstacle pairs Two people failed the same form on the same checkbox. No advice: 'want to review it together with a clinic volunteer on Saturday?' | live | nothing: a new signal tag, 'same-form buddy'; the meeting point is a free event as usual |
| 14 | Micro-witness network Opted-in walkers whose usual route passes the corner get one card: 'look left at the dumpsters.' The list dies in 48 hours. | owner | coarse opt-in routes and a push channel; the privacy design must be written first |
| 15 | The intro that deletes itself A three-person thread for one task; when the task is done the bot announces it is leaving and archives. Its gift is an ending. | owner | a group channel (Telegram or Matrix); the 14-day signal expiry is the same idea in miniature |
| 16 | Silence detection on opt-in check-ins Two missed daily 'y' texts plus a weather alert: a factual note to the named contact, not a diagnosis. | owner | an SMS number (Twilio) and a written consent flow; the safest version of the whole list and the one that most needs a key |
| 17 | Deadline radar on public dockets A comment period closes Friday; Wednesday the association secretary gets a plain summary and the comment URL. | draft | a docket source that answers a bot (the NYC Council API refused the engine with a 403 on 2026-09-23; NYC Rules and community-board calendars next) |
| 18 | Broken-help detector A city page still lists a warming-center number that is disconnected. Tell the webmaster and 211, not every citizen. | live | nothing for links: the Keeper finds dead help links and now drafts the note to the page's owner for the desk; phone numbers would need a calling service (owner) |
| 19 | Form-abandonment compassion They stopped at the upload-proof step; 24 hours later: 'you only have the lease left; the library on 3rd prints for free.' | owner | a benefits site that is the engine's own or a partner's |
| 20 | Two systems that don't talk Denied A this month, likely eligible for B: a one-page bridge script for the agency's call center. Bureaucratic kindness. | draft | one agency contact willing to receive it; the desk drafts it, a person sends it |
| 21 | The compliment with a citation Forensic encouragement: 'your spacing matches the extension-office PDF for this clay; that is why the tomatoes did not split.' | refused | it comments on strangers; kept only for the engine's own thank-you posts, which already name real organizations |
| 22 | Reverse lost-and-found Watch public FOUND posts and LOST posts across feeds that never share; hand a human volunteer the two links and a confidence. | live | nothing: the Scout already finds both; possible matches now appear as Rescue orders for a person to check |
| 23 | Surplus-to-need in time, not space The bakery dumps bread at 8; the shelter's kitchen volunteer clocks in at 9. Think in closing hours. | draft | closing-hour data from participating businesses (the request inbox again) |
| 24 | This meeting is about you and you do not know it A consent agenda removes a bus stop on your street; riders who opted in by route get the item highlighted. Civic surprise is a harm; the fix is a boring bot. | draft | same docket source as 17; then opt-in by route or borough is a signal tag |
| 25 | Language-isolate office hours A clinic has a Dari-speaking nurse on Tuesdays; public posts show Dari speakers asking on random days. Email the scheduler the demand curve, not the patients. | draft | a clinic partner; the demand side could come from the Scout |
| 26 | Open-source last-maintainer watch A tiny library 400 nonprofits depend on has had no commit in 14 months; email the people who starred it about a 90-minute sprint, not the tired author. | draft | a list of nonprofit-critical repositories; the GitHub API is public |
| 27 | The weather-plus-body bot Heat dome tomorrow plus a self-declared 'no A/C': a cooling-center map and a script to text a neighbor. | owner | an opt-in that stores a health-related constraint, which needs a consent and deletion design written first; the alert half already exists (NWS → check on a neighbor) |
| 28 | Comment as a bridge, then stop On a mutual-aid post with no replies for 72 hours: 'there is a tool library 0.8 miles away that lists a carpet cleaner. I will not follow up.' | refused | it comments on strangers; the engine lists the post as an order for a human instead, which is the same bridge with a person on it |
Once a week the Voice reads the measures and the catalogue and proposes three new moves it has not seen here. They go to the desk as proposals, for a person to read; an idea becomes a move only when a person writes its job. Nothing the Voice proposes is switched on by the Voice. The proposals are counted in the log under the Foundry.
Findable first, loud never: a sitemap and robots file are served, the day's changed pages are submitted to search engines nightly through IndexNow, every report has an RSS feed, and any site can show today's real ways to help with the embeddable widget. The engine never buys attention and never posts anywhere but its own accounts.