The Commons / Application, not theory

A platform for every ward,
starting with one.

Solystopia has argued for distributed capability for long enough. This is the argument built: one social platform per UK electoral ward, chronological and local by construction, funded by the businesses who trade there, governed by the people who live there. It opens in Kearsley, Bolton — 11,000 people between the Croal and the Irwell — and it is meant to run in all 8,694 of them.

Open the Kearsley Commons
What we took, and what we left

Nothing here is original.
The incentives are.

Facebook Groups

KeptThe local group as default civic unit — lost property, roadworks, the school run.

DiscardedAn algorithmic feed tuned to outrage, and a group you only find by accident.

Nextdoor

KeptAddress-level locality and verified residency.

DiscardedSuspicion as a growth engine, and moderation owned by a company in another country.

Reddit

KeptBoards with their own rules, and moderation done by the people affected.

DiscardedKarma as status, and scale that makes a moderator anonymous to their community.

X / Twitter

KeptSpeed. A ward should hear about a burst water main in seconds.

DiscardedContext collapse, and a reach economy that rewards the loudest stranger.

Wikipedia

KeptA durable, edited, shared record that outlives the thread.

DiscardedNothing — the ward ledger is the point.

Mastodon

KeptFederation, portability, and the right to fork.

DiscardedA setup process that assumes the user enjoys setup processes.

Craigslist

KeptPlain, fast, unbranded listings that solved a real errand.

DiscardedA total absence of accountability for who is posting.

The Commons Charter

Ten clauses.
Each one is a constraint on the code.

  1. 01

    Every post belongs to exactly one ward. There is no national feed, no trending tab, and no way to be shown to strangers you will never stand next to.

    Defends capabilityposts.ward_id is NOT NULL; every read path is scoped by ward slug, and RLS refuses cross-ward writes.

  2. 02

    The feed is time and proximity, never predicted engagement. Ranking may surface what is urgent or near, never what is inflammatory.

    Defends agencylib/commons/ranking.ts is a pure, readable function with no engagement term. Recency, board weight, and consent are the only inputs.

  3. 03

    A vote is consent or objection on a proposal, not applause. There are no vanity counters — score is never shown as a leaderboard of people.

    Defends agencyvotes carry a stance of support | object | abstain, and are aggregated per post, never per author.

  4. 04

    Residency, not follower count, grants standing. One verified resident, one vote, and verification is a local act.

    Defends capabilityward_members.standing tracks resident | worker | visitor; only residents vote on proposals.

  5. 05

    Local trade funds local infrastructure. Sponsorship is a flat, published, ward-level rate — never an auction for attention, never behavioural targeting.

    Defends substitutabilitysponsors carry a fixed monthly pence rate and a visible slot; nothing about a reader is used to select which sponsor is shown.

  6. 06

    No profiling, no cross-site tracking, no ad tech. What the platform knows about you is what you typed into it.

    Defends agencyNo third-party ad scripts, no profile table for inferred interests, sponsor rotation is deterministic by date.

  7. 07

    A ward can leave. The data, the charter, and the software are exportable and the licence permits a fork.

    Defends substitutabilityEvery board and post is plain rows with stable slugs; export is a read, not a negotiation.

  8. 08

    The ward keeps working when the platform does not. Anything critical must have an offline equivalent named on the page.

    Defends recoverabilityWard records carry a physical meeting place and a noticeboard location, printed on the ward page.

  9. 09

    A notification exists only when it changes what a resident should do. There is none for applause, none for a vote on your post, and none whose purpose is to bring you back.

    Defends agencycommons_notification_outbox.kind is a closed set of five: urgent, proposal opened, proposal closing, a reply on your own thread, and the digest. There is no row type that could carry a vanity notice. Every one queues visibly before it is sent, and unsubscribing takes one click with no sign-in.

  10. 10

    Every decision made here is readable by someone who was not in the room. Proposals record what was asked, who could vote, and what was decided.

    Defends accessProposal posts render their full vote ledger, including objections, to any reader.

The preset

Nine boards, everywhere.
Move ward, find the same rooms.

notice

Urgent

Burst mains, road closures, power cuts, missing people, flood warnings.

House rule — Only things that change what someone should do in the next few hours. Close the post when it is over.

notice

Noticeboard

What is happening this week — markets, meetings, surgeries, bin changes.

House rule — Date, place, and a human to ask. Anything else is a discussion post.

proposal

Proposals

Things the ward could decide to do, and the ledger of how it decided.

House rule — State the ask, the cost, and who pays before you ask for support. Objections stay published.

discussion

Energy & Repair

Solar, insulation, heat pumps, repair cafes, tools to borrow, things that broke and how they were fixed.

House rule — Post the numbers. What it cost, what it saved, what went wrong.

discussion

Growing

Allotments, verges, orchards, seed swaps, surplus to give away.

House rule — Say where. A photo of a courgette helps nobody find the courgette.

listing

Trade

Local businesses, trades, jobs, and what people are selling or giving away.

House rule — Businesses post as themselves, not as neighbours. One listing per thing.

discussion

Help

Asking for a hand, and offering one. Lifts, shopping, childcare, a ladder.

House rule — No means-testing your neighbours. Close the post when you are sorted.

discussion

Council & Casework

Planning applications, councillor surgeries, licensing, and what happened to that pothole report.

House rule — Link the reference number. Chase in public so the next person can follow it.

log

The Record

The ward’s durable memory: decisions taken, projects finished, what a thing cost, who to ask.

House rule — Edited, not argued. Every entry cites the thread it came from.

The register / 20 of 8,694 generated

Every ward gets a page.
A resident makes it a place.

Wards outside Bolton are not yet generated. Opening one is a single database call and a resident willing to steward it — that is the whole barrier, and it is deliberately that low.