Own your team.
A nonprofit platform for finding the people you would start a worker cooperative with — and the clients who would hire it.
The premise
Services work — consulting, development, design, operations, bookkeeping — needs almost no capital. It is gated by credibility and sales capacity, and those are exactly what an individual lacks and a team can manufacture. One developer doing good work alone is a freelancer. Three people with a name, a portfolio and a shared client pipeline are a firm, charging firm rates for the same skills.
What is missing is not the work or the talent. It is the introduction — and a structure that survives the first disagreement.
The mission
Say what you bring and what kind of company you want. Browse and filter real people and real teams, ranked for you with the reasons shown in plain language. Nobody is assigned to anybody: a team exists only once everyone in it has said yes to everyone else.
Teams begin as a conversation, not a company. Each runs on a cooperative charter — probation, consent decisions, membership shares paid out of earnings rather than cash up front — and can fork, blamelessly and with its lineage recorded, when members want different things.
Formed teams publish fixed-scope, fixed-price offers in a public directory. The platform sets the terms, and rates rise with a team's track record rather than falling in a race to the bottom. Clients hire a team, and the team signs the contract.
What makes it work
The matching engine proposes; people accept or pass. A proposal only becomes a team when everyone invited has answered and enough said yes. The first commitment is a conversation, which costs nothing to say yes to.
Watch → join a proposal → probationary member → member. Borrowed from a century of cooperative practice: you prove yourself in work, not cash, and the membership share is payable out of your first earnings and refunded at par when you leave.
Most platforms treat a team splitting as failure. Here it is how a group discovers what it actually is. State the disagreement, name who's moving, keep your rung — and watchers follow both branches until they have a preference.
Following a team without being in it is a first-class role, not lurking. The team sees who is watching, and when it needs a skill a watcher has, the introduction is one click.
Most new teams have nobody who has run a cooperative. Three charters ship as defaults — adapted from US worker-cooperative practice — covering decisions by consent, patronage splits, probation, shares and exit.
Ranking is built from stated preferences about the company you want, skill complementarity and the gaps a team has declared. It can always say why — "wants the same kind of company · fills react · same city" — which a similarity score cannot.
Architecture
Three independently replaceable layers, joined by contracts rather than by a framework. Only the data layer is treated as permanent.
| Concern | Decision |
|---|---|
| Deployment | One container serves the API under /api and the built SPA on every other path — same origin, so no CORS, no second service, and nothing to wire together. Runs on Cloud Run and scales to zero when idle. |
| Database | Managed serverless Postgres with the vector extension. Migrations are versioned and applied on boot; the schema is the one thing designed never to be thrown away. |
| Contract | The API publishes OpenAPI; the web client's types are generated from it. A route that changes shape breaks the build rather than production. |
| Demo data | A deterministic seeded community — 150 people and twenty teams across six US cities, at every stage of the ladder, including a fork, a merge, shipped portfolios and priced offers. Same seed, same community, every run. |
| Judgment calls | Every arguable number — probation length, share size, the minimum team size for a public page, the match-score floor — sits in a single config file rather than scattered through the code. |
| Seams left open | Payments and escrow, outbound email, and embeddings are each behind an interface with a local implementation, so a provider can be dropped in without redesign. |