Skip to main content

Welcome to OpenCouncil

OpenCouncil is an open-source platform that digitizes, transcribes, and makes municipal council meetings searchable, helping citizens engage with their local government. Developed by Schema Labs, a non-profit organization building technology to strengthen democracy.

Quick start

Get OpenCouncil running locally in minutes with Docker or manual setup

Architecture

Understand the technical architecture and system design

API reference

Explore the REST API endpoints and integrate with OpenCouncil

Contributing

Learn how to contribute to OpenCouncil through our human-AI workflow

Core features

Automatic transcription

Word-for-word transcription of council meetings with AI-powered speaker recognition and voiceprint identification

Smart summaries

AI-generated summaries of council member statements with automatic categorization of discussion subjects

Advanced search

Full-text search across all council meetings powered by Elasticsearch with natural language filtering

Meeting highlights

Create and share custom video clips from council meeting moments with automatic generation and editing capabilities

Diavgeia integration

Link council decisions with their official publications on Greece’s government transparency portal

Notification system

Personalized updates for citizens via email, WhatsApp, and SMS based on topics, people, and locations

AI chat assistant

Ask questions about council meetings using natural language powered by Anthropic Claude

Open data

All data available through a public REST API for transparency and integration

Key capabilities

Voice recognition

Speaker identification using voiceprints allows the system to automatically tag who is speaking during council meetings, making it easy to track individual contributions.

Subject analysis

Automatic categorization of discussion subjects helps organize meeting content and makes it easier to find relevant topics across multiple meetings.

Role-based access

Granular permissions for different user types ensure that administrators can manage content while maintaining public transparency.

Discord integration

Real-time admin alerts for system events keep municipal staff informed about transcription progress, errors, and important updates.

Technology stack

OpenCouncil is built with modern web technologies:
  • Frontend: Next.js 14 with TypeScript and App Router
  • Database: PostgreSQL with PostGIS for geospatial data
  • ORM: Prisma for type-safe database access
  • Search: Elasticsearch for full-text search
  • AI: Anthropic Claude for summaries and chat
  • Storage: S3-compatible object storage (DigitalOcean Spaces)
  • Authentication: Auth.js (NextAuth v5)
  • UI: Tailwind CSS with Radix UI components

Use cases

Search council meetings to find discussions about topics that matter to you, receive notifications when your interests are discussed, and engage with local government decisions.
Quickly find quotes and statements from council members, track voting patterns, and identify newsworthy discussions across multiple municipalities.
Analyze local government decision-making patterns, study policy discussions, and access structured data through the public API.
Streamline the publication of meeting transcripts, automatically generate summaries, and improve transparency with minimal manual effort.

Community and support

Website

Visit the official website

Discord

Join our community

GitHub

View the source code

Next steps

1

Get started

Follow the quickstart guide to set up OpenCouncil locally
2

Understand the architecture

Read the architecture overview to learn how the system works
3

Contribute

Check out the contributing guide to join our human-AI workflow

Build docs developers (and LLMs) love