AURA ENGINEA public kindness engine for New York City. An early public experiment from psyoptin.com. The engine finds and prepares; people bring judgment and action. Activity records public; private requests protected.

How the engine grows

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 A DAY · 7-DAY
2
● new vs 0 the week before
POSTS THIS WEEK
6
49 failed · 0 lost-animal reposts
PEOPLE THIS WEEK
0
enlisted · 0 reports · 4 presses · 0 pairs · 7 conversations
SOURCES · DIRECTORY
100%
of sources answered · 60 entries kept true

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.

The laws of growth

  1. It grows only inside its written rules. A new capability is a new written job (where, what, how much, proof, stop) before it runs.
  2. It may pull a lever on its own only when the lever is in this catalogue, marked auto, and its trigger is true; it says so in the log the night it happens.
  3. Anything that needs a new account, a key, or money waits for the owner, and the engine says exactly what it is waiting for.
  4. Scale means more listings kept true, more real asks reposted, more people paired, more organizations answered. Never more posts for their own sake.
  5. Every move has a measure. A move that does no measurable good in 90 days is switched off, in the log.
  6. The Voice proposes new moves from the record. It never switches anything on.

The catalogue · every move it can make

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.

MoveKindModeStatusWhy · what it does · how it is measured
Scout for organizations asking for volunteersdeedsautolive since 2026-09-22an 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 fridgesdeedsautolive since 2026-09-22food 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)deedsautonot yetreposting 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 Mondayreachautonot yetone 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)reachautolive since 2026-09-22being 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' widgetreachautolive since 2026-09-22a 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)deedsautoswitches on tonighta 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 Chinesedeedsdraftnot yethalf 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 inboxsourcesdraftnot yetrequested 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 sourcesourcesdraftnot yetmore 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 packreachdraftnot yetthe 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 accountreachownernot yetbots 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 channelreachownernot yeta 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 handlereachownerwaiting on the ownera 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 emaildeedsownernot yetpairs 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 linkmoneyownernot yetpeople 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 Claudedeedsownernot yetthe 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)deedsownernot yetpublic-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).

The field book · 28 creative ways, each with a verdict

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.

Design rules: The bot is a matchmaker or a clerk, never a secret friend Ask the quieter party first One useful artifact beats a chatty personality: a draft letter, a map, a deadline, an introduction, an updated link Prefer emailing organizations, moderators and opted-in people over commenting at the public Say it is a bot in the first line Expire everything: intros, location hints and comment edits die on a timer
#IdeaVerdictWhat it needs
1The 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.'
autothe Keeper already finds dead links; the update goes on the engine's OWN posts only (its own threads), never a stranger's
2The 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.
draftthe 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
3The 'you already solved this' comment
Match a new rare problem to an old resolved thread and quote the sentence that fixed it.
ownera forum with an official bot API or a moderator allowlist; commenting on strangers elsewhere is refused
4The accessibility patch
'This venue's elevator is listed out of service since Tuesday.' A fact the host did not know they needed to post.
draftthe 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
5The recipe-allergy remix
Only where bots are allowed and only in reply to someone who asked; cites three tested swaps from other threads.
refusedoff-mission and it comments on strangers
6Email 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.
draftpublic waitlist counts by branch plus geocoded sessions; then a desk draft to the library, sent by a person
7The 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.
livenothing: /letter, on the Voice, $0; the person sends it, not the engine
8The 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.
drafta maintained list of NYC charity-care and county grant policies; then a desk draft, sent by a person
9The 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.
ownerthe mail hand (SENDGRID_API_KEY + MAIL_FROM); the Matchmaker and the signals already do the pairing and the consent
10Your 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.
drafta food bank or pantry willing to share inventory times (the organization request inbox is the door)
11Opposite-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.
livenothing: a new signal tag, 'odd-hours company'; the Matchmaker pairs it like any other
12Skill-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'.
ownera platform whose API allows reading old answers and an opt-in list; until then, the 'mentoring' signal tag covers the opt-in half
13Shared-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?'
livenothing: a new signal tag, 'same-form buddy'; the meeting point is a free event as usual
14Micro-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.
ownercoarse opt-in routes and a push channel; the privacy design must be written first
15The 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.
ownera group channel (Telegram or Matrix); the 14-day signal expiry is the same idea in miniature
16Silence 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.
owneran SMS number (Twilio) and a written consent flow; the safest version of the whole list and the one that most needs a key
17Deadline radar on public dockets
A comment period closes Friday; Wednesday the association secretary gets a plain summary and the comment URL.
drafta 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)
18Broken-help detector
A city page still lists a warming-center number that is disconnected. Tell the webmaster and 211, not every citizen.
livenothing 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)
19Form-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.'
ownera benefits site that is the engine's own or a partner's
20Two 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.
draftone agency contact willing to receive it; the desk drafts it, a person sends it
21The compliment with a citation
Forensic encouragement: 'your spacing matches the extension-office PDF for this clay; that is why the tomatoes did not split.'
refusedit comments on strangers; kept only for the engine's own thank-you posts, which already name real organizations
22Reverse 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.
livenothing: the Scout already finds both; possible matches now appear as Rescue orders for a person to check
23Surplus-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.
draftclosing-hour data from participating businesses (the request inbox again)
24This 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.
draftsame docket source as 17; then opt-in by route or borough is a signal tag
25Language-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.
drafta clinic partner; the demand side could come from the Scout
26Open-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.
drafta list of nonprofit-critical repositories; the GitHub API is public
27The 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.
owneran 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)
28Comment 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.'
refusedit 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

New ideas

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.

Being known

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.

Ask the engine

It answers from a fixed list, so it cannot make anything up. If you are in trouble it points you to real people first.