The Agora
The Agora is Cittopia's open citizen forum — a public wall where any citizen can post a concrete city idea, others vote it up or down, and the municipality publicly responds. Borrowed in name from the ancient Greek public assembly, built for the algorithmic age.
Why it exists
Most "civic engagement" portals are write-only suggestion boxes — citizens submit ideas that disappear into the digital equivalent of a city-hall basement. The Agora flips that: every proposal is public, voted on by other citizens, responded to by the municipality, and the municipality's responsiveness is itself measured and published.
The mechanism creates pressure in both directions: citizens self-moderate (because their neighbours can downvote noise), and municipalities have a measurable public reputation to protect.
How it works
For citizens
- Open
cittopia.com/agora. - Browse proposals, filter by city / category / status, sort by 🔥 Trending, 🏆 Top voted, or 🆕 Newest.
- ↑ Upvote ideas you support, ↓ downvote noise. Heavily downvoted proposals (≤ −5 net) auto-fade.
- Click Post a proposal to add your own — title, body, city, category, optional district + author.
- Watch the municipality respond. Status updates appear on the same proposal.
For municipalities
- Log in to your city admin (
your_city_admin). - Open the Agora Inbox tile on the dashboard.
- You see only your city's proposals, sorted by votes by default.
- For each proposal, set a status: 📨 Acknowledge → 👀 Reviewing → 🛠️ In progress → ✅ Implemented (or 🚫 Won't, with reason).
- Add a public note with your status update — it appears on the public Agora.
- Each acknowledgement within 7 days raises your Listening Score, published on your public city profile.
The seven categories
Each proposal is tagged with one of seven categories that mirror the Pulse pillars:
| Category | Examples |
|---|---|
| 🚇 Transport | Tram stops, bike lanes, ferry frequency, pedestrianisation |
| 🌱 Environment | Tree planting, EV chargers, beach cleanups, solar panels |
| 💼 Economy | Co-working spaces, market revival, small-business permits |
| 🎓 Education | Library hours, language classes, scholarships, after-school |
| 🏠 Living | Affordable housing, healthcare access, public benches, safety |
| 🎭 Tourism | Signage, walking tours, accessibility for visitors |
| 🎨 Culture | Open-air cinema, community events, museum policy |
Proposal lifecycle
Every proposal passes through a 6-stage status flow:
| Status | Meaning | Counts toward Listening Score? |
|---|---|---|
| 📬 New | Just posted, no response yet | — |
| 📨 Acknowledged | Municipality has seen it and noted intent to consider | ✓ if within 7 days |
| 👀 Reviewing | Under formal review by a department | ✓ if within 7 days |
| 🛠️ In progress | Decision made, action underway | ✓ if within 7 days |
| ✅ Implemented | Done — the city has shipped it | ✓ |
| 🚫 Won't implement | Declined, with public reason | ✓ — declining honestly counts |
The Listening Score
The Listening Score is the headline metric that makes the Agora self-correcting. It is computed weekly per city as:
credit = 0
for each proposal addressed to this city:
days_to_response = status.set_at - proposal.posted_at
if days_to_response ≤ 7: credit += 1.0 # full credit
elif days_to_response ≤ 30: credit += 0.5 # half credit
else: credit += 0 # too slow
Listening Score = round(credit / total_proposals × 100)
Listening tiers
| Tier | Score range | Public badge |
|---|---|---|
| 🥇 Gold listener | ≥ 85% | Featured on public city profile |
| 🥈 Silver listener | 70 – 84% | Public badge on profile |
| 🥉 Bronze listener | 55 – 69% | Public badge on profile |
| 📋 Needs improvement | < 55% | Quiet — no badge, but score still public |
Anti-spam & anti-propaganda
Open submission requires hard moderation. The Agora uses nine layers — most invisible to legitimate users, ruthless for bots and bad actors:
| Control | What it blocks |
|---|---|
| Honeypot field | Bots that fill every input — humans never see the field |
| Time-on-form ≥ 4 s | Submissions faster than human can type a title |
| 1 proposal / hour / browser | Spam waves from a single source |
| Length limits (10–100 / 40–800) | Empty submissions and walls of text |
| Profanity filter (5 languages) | EN, PL, TR, BG, DE swearing |
| Political-keyword filter | Party names + "vote for X", "impeach", "corrupt" |
| Personal-attack patterns | "X is stupid", "should resign", etc. |
| Caps-abuse / exclamation-abuse | SCREAMING TITLES and "!!!!" tone |
| Mandatory pledge checkbox | "This is constructive, not propaganda, not advertising" |
Beyond pre-publish moderation, the community itself moderates: any proposal with a net vote score of −5 or lower is auto-faded in the feed. It remains accessible — never deleted — but visually de-emphasised.
Anonymity & identity
Posting is allowed fully anonymously. You can sign with a real name, a pseudonym, or leave the field blank (renders as "Anonymous"). The same privacy principles as the Proof of Belief apply — display name only, no email published, GDPR-compliant.
Pseudonyms are explicitly welcome. We care about the quality of the idea, not the provenance of the human.
What cities get out of it
The Agora is not a complaint window — it's a strategic asset for cities that engage with it well:
- Free citizen R&D. Hundreds of grounded ideas, pre-validated by community votes, surfaced by trending algorithm.
- Public proof of listening. The Listening Score is a recruiting tool, a campaign promise made measurable, an answer to "do you actually engage?"
- Cross-city benchmarking. See how peer cities respond to similar proposals.
- SDG signal. Each proposal is auto-tagged to the relevant SDG; aggregated, the Agora becomes a real-time citizen-sentiment dashboard for the 2030 agenda.
- Press hook. "City X implemented 12 citizen proposals this quarter" makes a better story than press-released initiatives nobody asked for.
The AI layer (Phase 3+)
Phase 1 and 2 are static and human-curated. Phase 3 introduces an AI layer that runs weekly on the proposal corpus:
- Semantic clustering — 50 proposals about "fix the bus stop on Main St" become 1 themed cluster with 50 endorsers, so the city sees the signal not the noise.
- Civic brief generation — each cluster gets a 200-word executive summary written from the underlying proposals, with the top-5 specific quotes preserved verbatim.
- SDG auto-tagging — each proposal gets one or more SDG tags, so cities can filter to "show me all SDG 11 proposals from the last 90 days".
- Cross-city pattern detection — "12 cities are seeing transport proposals about night service this month" surfaces shared challenges before they hit the press.
- Weekly municipal digest — auto-emailed Monday morning to the city admin: "Your top 10 proposals this week, your Listening Score delta, and 3 peer cities responding to similar themes."
AI summaries are always citable — every cluster shows the original proposals and the model output side by side. We refuse opaque AI; transparency is in the manifesto.
Build phasing
| Phase | Status | Shipped artefact |
|---|---|---|
| 1 · Static MVP | ✅ Live | Public Agora page, 24 seeded realistic proposals across 4 pilot cities, voting via localStorage |
| 2 · Admin integration | ✅ Live | Per-city admin inbox with status workflow, Listening Score, public note replies |
| 3 · Real backend | ⏳ Q3 2026 | Netlify Function + Postgres so votes & proposals persist cross-device |
| 4 · AI layer | ⏳ Q4 2026 | Weekly clustering, civic-brief generation, municipal digest emails |
| 5 · Public Listening Score on city profile | ⏳ Q4 2026 | Score widget appears on every city.html?city=… page |
| 6 · Cross-city pattern view | ⏳ 2027 | "Trending across all cities this week" dashboard for press & researchers |
How to participate
Whether you're a citizen, a city CIO, or a journalist:
- Citizen — open the Agora, vote, post.
- Municipality — request access via hello@cittopia.com; you'll receive a handle + authentication key.
- Journalist / researcher — the Agora is fully public; you may cite it as
cittopia.com/agora. Bulk data exports for academic research available on request. - Civic-tech NGO — partnership opportunities to co-pilot in a new city, contact above.