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
Citizens
Citizens
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.
Journalists
Journalists
Quickly find quotes and statements from council members, track voting patterns, and identify newsworthy discussions across multiple municipalities.
Researchers
Researchers
Analyze local government decision-making patterns, study policy discussions, and access structured data through the public API.
Municipal staff
Municipal staff
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
Get started
Follow the quickstart guide to set up OpenCouncil locally
Understand the architecture
Read the architecture overview to learn how the system works
Contribute
Check out the contributing guide to join our human-AI workflow