Find your cohort. Build your company.
First step: run the Quickstart below, open the site it starts, and click Browse projects to meet the builders there.
What runs today: a community site in this repo, with a projects board, shared rooms, and a live workspace. An AI agent can join a room through the MCP server and work next to the people there. A recording of a live agent session is in this repo as proof, and the test suite passes 7 of 7.
You do not need to apply. No one takes a share of your company. The code is free under the MIT license. Anyone can run a copy, change it, and share the change.
This repo serves Layer 3: Belonging.
“People who know your name. A room where your work is seen. A first believer when you are starting from nothing.” Cohort makes that room the internet, where builders meet, form teams, and start working together in a live workspace.
Unmet, it looks like: loneliness at scale, builders and neighbors invisible to each other, communities that exist only as audiences for someone else’s platform.
The full map: The Ascent, a map of human needs
@ai in chat. Replies go to the whole room.npm install
node server.js
Then open http://localhost:3000.
State lives in a single data.json file next to the server (auto-created and
seeded with demo projects on first boot; gitignored).
The whole server is one file, server.js (about 600 lines, Express plus the
ws WebSocket library), and that is a deliberate choice: the project is small
enough that one readable file beats a framework. It serves:
@ai chat endpoint that proxies to whichever provider the user
configured, using the user’s own key.Persistence is a single data.json with debounced saves. It is honest
single-instance storage: run one server process and it is exactly right;
run five and it is exactly wrong. For a community tool at this scale, that
trade is stated rather than hidden.
Cohort ships an MCP server (mcp-server.js) that lets an external AI agent
work in a room alongside the humans. It is a real client of the workspace,
not a backdoor: it reads projects through the REST API and joins rooms over
WebSocket under its own handle (agent by default), so everything it does
is visible in the room. Seven tools: list and get projects, read full room
state (project, shared document, recent chat, presence) in one call, post
chat, update the document, create a project, upvote. Every tool declares an
output schema and returns structured content an agent can plan over, and
errors come back with machine readable codes.
Verified like everything else here: the automated suite (npm test, 7
tests) drives the MCP server over stdio through a real handshake and tool
calls, and a recorded session transcript lives at
test/evidence/mcp-session.json. Run it yourself:
node server.js # in one terminal
npm run demo:mcp # records a fresh session transcript
Cohort never stores your AI key on the server. It lives in your browser’s
localStorage and is forwarded only with your own @ai requests, used
transiently for the outbound provider call. Configure it via AI Settings
in the top nav.
| Provider | Free tier (approx.) | Get a key |
|---|---|---|
| Gemini | ~1,500 requests/day | aistudio.google.com/apikey |
| Groq | ~1,000 requests/day | console.groq.com |
| OpenRouter | free-tier models | openrouter.ai |
| Anthropic | pay-as-you-go | console.anthropic.com |
Any OpenAI-compatible endpoint also works via the Custom base URL provider.
docs/LANDSCAPE.md.Cohort is Act 2, the Commons, in a five part body of work built on one thesis: technology should increase human capability without taking human agency away. The problem family this act serves is collective action and coordination failure: good people with good ideas who never find each other. The other acts:
The north star metric for this act, counted honestly once the commons is live and dated when reported: builders who shipped something real in a cohort room. No number is claimed yet, because there are no public rooms yet. Ways to take part, including sized tasks for partners and contributors, are in COLLABORATE.md and CONTRIBUTING.md.
Working and verified: the server boots clean, the projects API returns the seeded board, workspaces sync in real time, the AI co-builder works with any of the providers below, the MCP server passes its protocol tests, and the REST API is covered by automated tests. Known limitations, stated plainly:
data.json will not survive a
multi-instance host. A real database is the obvious next step when a
deployment outgrows one process.Live demo: https://auroracommons.github.io/cohort/
That page shows this README as a web page. The working app is not hosted there. To use the app, run the Quickstart above and open the site it starts.
The server in this repo can run as a public demo at no cost. The package is ready (a Dockerfile, a Render blueprint in render.yaml, and a server that reads its port from the PORT environment variable). One step needs a person, because it creates an account in your name:
render.yaml and fills in the build and start commands itself.onrender.com address. Open that address and the app answers with its demo data.Any host that runs the Dockerfile works the same way.
The limits, stated plainly:
Pick a good first issue in this repo, sized in hours and written to be finishable by a newcomer. Take the Eval Challenge against this repo’s published session and test results, and submit your run. Report adoption from real use, good or bad, with evidence of what happened.
The full protocol: The Open Table. Verified work is credited in the public Ledger.
Prompt A, for an AI agent:
You are an AI agent taking the Eval Challenge in the cohort repo.
Start from a clean state with no local data.json, then run npm ci and npm test.
Compare your result with the published baseline: seven tests pass out of seven, made of six REST API tests plus one MCP protocol test, and the MCP server offers seven tools.
Then start the server with node server.js and run npm run demo:mcp, and compare the fresh transcript with the recorded session at test/evidence/mcp-session.json.
Attach the full run to your submission, keep to one improvement per pull request, state that you are an agent, and name your operator.
Prompt B, for a human:
File a failure report using the failure report template in this repo.
Include the input you used, what happened, and what should have happened.
Attach the run, transcript, or output that shows the failure, if you have one.
MIT. See LICENSE. Copyright (c) 2026 Cohort contributors.
Express, ws, Hacker News API (Y Combinator), the OpenAI-compatible chat completions convention adopted by Google, Groq and OpenRouter, and the Y Combinator ethos of make something people want, which this project tries to give away for free.
The layer below: Atlas, learning
The layer above: Graph, shared truth
The research under this layer: Foundations, Belonging and social connection
Built on Atlas: learning. Unlocks the ability to contribute.