CEKA (Civic Education Kenya App) is a community-led open-source platform built to bridge the civic knowledge gap and empower Kenyan citizens with accessible, accurate, and engaging civic education.
CEKA is a civic tech project built for the people, by the people. In a democracy, informed citizens are empowered citizens. We aim to:
- Bridge Knowledge Gaps - Make civic education accessible, engaging, and easy to understand
- Promote Transparency - Provide clear, verified information about governance and civic processes
- Inspire Action - Connect citizens with tools and opportunities for meaningful civic participation
- Foster Community - Create spaces for constructive civic dialogue and collaboration
- Enable Global Impact - Serve as a template for civic education initiatives worldwide
- 📊 Legislative Tracker - Follow bills, laws, and legislative processes with AI-powered summaries
- 📚 Resource Hub - Access civic education materials, articles, and interactive content
- 🤝 Community Portal - Engage in discussions and connect with like-minded citizens
- 🎓 Interactive Learning - Take quizzes and track your civic knowledge progress
- 🌐 Multilingual Support - Available in English and Swahili
- 📱 Offline Access - Download resources for use without internet connectivity
- 🔍 Anonymous Contributions - Submit legislative insights and resources for community benefit
git clone https://github.com/CivicEdKenyaApp/CEKA.git
cd CEKAnpm installCopy the example environment file and add your configuration:
cp .env.example .envUpdate .env with your credentials (available from your Supabase dashboard):
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key🔐 Security Note: Never commit your
.envfile. It's already included in.gitignore.
npm run devYour app should be running at http://localhost:5173
npm run build- React 18 - Modern UI library with hooks and concurrent features
- TypeScript - Type-safe JavaScript development
- Tailwind CSS - Utility-first CSS framework
- Vite - Fast build tool and development server
- Framer Motion - Smooth animations and interactions
- GSAP - High-performance animations
- Supabase - Authentication, PostgreSQL database, and real-time features
- OpenAI API - Content summarization and categorization
We welcome all collaborators — developers, designers, educators, civic advocates, and citizens! CEKA thrives on community contributions.
-
Fork the repository
git fork https://github.com/CivicEdKenyaApp/CEKA.git
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow our coding standards
- Write clear commit messages
- Add tests for new features
-
Test your changes
npm run test -
Submit a pull request
- Provide a clear description of your changes
- Reference any related issues
- Include screenshots for UI changes
- 🔧 Development - Frontend components, backend APIs, database optimization
- 🎨 Design - UI/UX improvements, accessibility enhancements
- 📝 Content - Civic education materials, translations (Swahili, other Kenyan languages)
- 🧪 Testing - Manual testing, automated test writing
- 📚 Documentation - API docs, user guides, contribution guidelines
CEKA is designed for easy deployment across multiple platforms:
- Supabase + Auth
CEKA takes user privacy and security seriously:
- 🔐 Secure Authentication - Supabase Auth for identity management
- 🛡️ Data Protection - User data is encrypted and stored securely
- 👤 Anonymous Contributions - Users can contribute without revealing identity
- 📊 Privacy-First Analytics - No personal data tracking or sharing
For security issues, please email: civiceducationkenya@gmail.com
- 💬 Discussions: GitHub Discussions
- 🐛 Bug Reports: GitHub Issues
- 📧 Email: civiceducationkenya@gmail.com
- 📱 Instagram: @civiceducationke
- 🐦 Twitter: @CEKAApp
CEKA is community-supported. Your support helps us maintain infrastructure and create content.
This project is open source and available under the MIT License.
What this means:
- ✅ Commercial Use - Use CEKA in commercial projects
- ✅ Modification - Modify and adapt the code
- ✅ Distribution - Share and redistribute freely
- ✅ Private Use - Use for private/internal projects
- ✅ Patent Grant - Protection from patent claims
Requirements:
- 📄 License Notice - Include the MIT license in distributions
- 📝 Copyright Notice - Credit the original authors
Educational content is licensed under Creative Commons CC BY-SA 4.0
"CEKA" and the CEKA logo are trademarks of the CEKA Project. See TRADEMARK.md for usage guidelines.
- Basic legislative tracker
- Resource hub with offline access
- User authentication
- Mobile-responsive design
- AI-powered content summarization
- Anonymous contribution processing
- Personalized content recommendations
- Automated content categorization
- Discussion forums
- Petition and campaign tools
- Volunteer opportunity matching
- Event management system
- Multi-country adaptation
- Advanced analytics dashboard
- Government partnership integrations
- Educational institution partnerships
See our detailed roadmap for specific milestones and progress.
CEKA exists thanks to the contributions of:
- 👥 Contributors - Developers, designers, and civic advocates who build CEKA
- 🏛️ Civic Organizations - Partners who provide expertise and guidance
- 🎓 Educational Institutions - Schools and universities that use and improve CEKA
- 💰 Supporters - Individuals and organizations that fund development
- 🇰🇪 Kenyan Citizens - The community that CEKA serves and learns from
- Open source communities that inspire civic technology
- Democracy and transparency advocates worldwide
- The next generation of Kenyan civic leaders
Since launch, CEKA has:
- 📊 40,000 Active Users across Kenya
- 📚 00's of Civic Resources in our database
- 🏛️ 15 Bills Tracked in our legislative tracker
- 🤝 Dozens of Community Contributions from citizens
- 🌍 4 Countries exploring CEKA adaptation
Updated monthly - see impact dashboard for real-time metrics.
Built with ❤️ for Kenya and democracy worldwide
🌟 Star this repo | 🍴 Fork for your country | 📧 Get in touch
"The best way to predict the future is to create it." - Peter Drucker