Why I built this

Two-sided friction

The labor market has a friction problem, and it runs in both directions at once. In July 2026 there were 2.1 million unemployed young people in the US — a 9.1% youth unemployment rate, 12.0% for Black youth (BLS). About 4.2 million Americans aged 18–24 are in neither school, training, nor work, forgoing $12,000+ a year in earnings each. At the same time, 72% of employers worldwide say they can't fill roles (ManpowerGroup, 2026). Talent exists. Demand exists. What is missing is the connective tissue between them.

Academia is clogging

The traditional connective tissue is academia — and it is clogging. Even a bachelor's degree no longer guarantees flow: young graduates are finding jobs at the slowest pace since at least 2003. And the obvious fix hasn't worked either: when employers dropped degree requirements on paper, fewer than 1 in 700 hires actually changed (Burning Glass Institute / Harvard Business School). You can't just remove the gate. You have to build another way for a person to do real work, with real people, and come away with documented outcomes someone else can trust.

An economic lubricant

That's what Common Ground is for. Think of it as an economic lubricant: community events are one of the lowest-barrier entry points into economic life — no tuition, no credential screen, no application essay. A neighborhood workshop is where a young person runs their first project, meets a sponsor, gets seen by an employer. But small nonprofits — the organizations that run these on-ramps — are themselves friction-bound: one or two people doing the research, venue hunting, sponsor outreach, and follow-up by hand, so events that could connect people to opportunity simply don't happen, or happen without the documented outcomes that make them count.

Built by an operator, for operators

Common Ground gives that operator a parallel agent team: five researchers doing a week of coordination legwork in one run, with sources and evidence labels, so more events happen and every participant's work is recorded as outcomes and metrics — proof of skill earned outside a classroom. I built this as someone who came up outside the degree track myself. The economy doesn't have a people problem. It has a friction problem. This is a tool for reducing it.

What it does — Working prototype for a fictional NYC nonprofit, "Common Ground NYC" — all demo events, people, and metrics are clearly labeled fictional.

1. Plan in one place

Operator workspace with NYC venue map, event calendar, and activity stream on shared Python models for organizations, venues, events, people, sponsors, catering, and metrics; an event shows budget vs funding secured, registrations vs target, venue, audience, and intended outcomes.

2. Five parallel researchers

From one event brief (the Community Energy & Resilience Workshop), agent_runtime.research provisions exactly five independent Daytona sandboxes at once, each with its own SDK client, OpenCode session, and filesystem, run concurrently: contacts (organizers/experts, publicly listed contacts only, never guessed emails), venues (accessibility, published capacity/pricing, unknown availability stays unknown), sponsors (mission-aligned prospects and tailored propositions; a candidate is not a commitment), catering (providers, dietary options, published prices, draft inquiries), and proposals (program propositions, agenda options, measurable outcomes). Each worker discovers with websearch and reads pages with webfetch — a worker only counts as completed if a completed websearch + webfetch pair was actually observed. All five share host-side document memory in SurrealDB / Spectron, lock-serialized against duplicate-upload races: every fetched page is saved with source URL, stable version ID, and SHA-256 checksum. Output is one consolidated JSON report: candidates grouped by role with source URLs, rationale, and evidence_status (source_retrieved vs unverified), open questions, per-worker session/sandbox IDs, and cleanup status; if one worker fails, the others' results are preserved and the run is labeled completed, partial, or failed. Candidates never modify the event, register anyone, or send outreach.

3. Human-gated outreach

A researched prospect can become a draft stored in SurrealDB; a human reviews it; only then does Anchor Browser send it through an authenticated LinkedIn or Gmail session; delivery is atomically claimed so it can never double-send, and sends are never auto-retried.

How we built it

Daytona — isolated execution

Two modes: a single OpenCode sandbox for sequential turns and the five-sandbox parallel research team; each sandbox is private, receives only model-provider credentials (never the repo, .env, browser sessions, Daytona key, or storage credentials), and is cleaned up on exit.

SurrealDB + Spectron — shared memory

Shared agent memory with typed models, duplicate detection, checksums, category search.

Anchor Browser — reviewed outreach

Authenticated sessions for reviewed outreach.

Arize AI — private observability

Optional Arize AX / Phoenix tracing, privacy-first with prompt logging, tool-detail logging, and tool-content logging explicitly OFF.

Operator UI

Standard-library Python server + vanilla JS / Leaflet, sharing the same domain models the research brief is validated against.

Testing

61 tests, including tests proving all five workers can be in flight together, preserving partial results, labeling unobserved browsing, recording cleanup failures, and serializing shared-memory operations.

Challenges we ran into

Concurrency without corruption

Lock-serialized shared memory.

Honest status at scale

Completed/partial/failed, source_retrieved/unverified.

Speed with safeguards

Keeping parallel speed safe: research and draft only; no contacting, booking, or commitments; unknowns remain unknown.

Accomplishments that we're proud of — Five real isolated sandboxes researching one event simultaneously and returning a single structured, cited report; evidence discipline (source_retrieved only if every cited URL was actually fetched); graceful partial failure.

What we learned — Parallelism multiplies value and risk: the hard parts were shared memory, evidence labeling, and honest run status. Grounding is a capture-time problem — if the URL, checksum, and fetch event aren't recorded when they happen, no later prompt can invent that trust back.

What's next — Import research candidates into the workspace UI for operator review; venue availability and sponsor-status verification; post-event outcome reports for sponsor reporting; ElevenLabs voice briefings of the research report.

Business model

Common Ground is built to be sold — sustainably, not extractively. It is free for small nonprofits (fewer than 4 full-time employees), because the operators who need this most shouldn't have to pay to reduce their own friction. Organizations with 4 or more full-time employees pay a reasonable price — the teams with real budgets fund the tool, and the smallest community organizations ride free.

Built With

Share this project:

Updates

Submission history