Open source, self-hosted, infinitely customizable. Built by developers, for developers.
And why we built something better
Team management with granular permissions
Track invitations and completion status
Modern stack with developer-friendly patterns
Modern Python web framework. Clean MVT architecture. Type hints throughout. Well-structured apps: accounts, reviews, questionnaires, reports, notifications. Follows Django best practices.
Robust relational database. UUID primary keys for security. Proper foreign key constraints. Migrations managed with Django ORM. Standard SQL for direct queries and reporting.
Single-command deployment. Gunicorn WSGI server. WhiteNoise for static files. PostgreSQL container included. Volume mounts for persistence. Production-ready configuration.
Django templates with modern CSS. No heavy JavaScript frameworks. Fast page loads. Mobile-responsive. Shadcn-inspired design system. Easy to customize and theme.
UUID-based tokens prevent enumeration. CSRF protection enabled. Rate limiting ready. SQL injection impossible with ORM. Django security middleware active. Regular dependency updates.
┌───────────────────────────────────────────────────────────┐
│ Docker Compose │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Nginx │ │ Django │ │ PostgreSQL │ │
│ │ (Optional) │─▶│ Web App │─▶│ Database │ │
│ │ Reverse │ │ Gunicorn │ │ Persistent │ │
│ │ Proxy │ │ WhiteNoise │ │ Volume │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Admins │ │ SMTP │ │
│ │ Dashboard │ │ Server │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ External (Optional) │ │
│ │ - External SMTP (SendGrid, Mailgun, etc) │ │
│ └─────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────┘
Built to read, understand, and extend
PEP 8 compliant. Black formatting. Type hints on functions. Meaningful variable names. Comments where complexity exists. No "clever" code that requires a PhD to understand.
README covers deployment. REQUIREMENTS.md explains architecture. Docstrings on complex functions. Inline comments for tricky logic. Deployment guide for production. Contribution guidelines.
Django apps for separation of concerns. Core, accounts, reviews, questionnaires, reports, notifications. Each app focuses on one domain. Easy to understand where code lives.
Pytest configuration included. Model tests easy to write. View tests straightforward. Integration test examples. CI/CD templates on roadmap. Test coverage improving with contributions.
Django migrations track schema changes. Automatic migration generation. Forward and backward compatible. Tested on PostgreSQL. Can review migration SQL before applying.
12-factor app methodology. .env file for configuration. Environment variables for secrets. Sensible defaults for development. Production settings clearly documented.
Competency framework that resonates with engineers
Five-stage model from Novice to Expert aligns with how engineers actually develop skills. No corporate HR jargon. Maps to technical career ladders naturally. Based on research, not management fads.
Professional Skills: leadership, communication, collaboration, problem-solving. Software Engineering: code quality, architecture, debugging, mentoring. Both use Dreyfus model ratings.
Create your own competency frameworks. Add domain-specific skills. Adjust rating scales. Include free-text questions. Framework is flexible, not prescriptive.
Maps naturally to Junior → Mid-Level → Senior → Staff → Principal engineering levels
Help make Blik better for everyone
Frontend: UI improvements, mobile responsive fixes, accessibility enhancements
Backend: Additional email providers, export formats, questionnaire templates
Docs: Deployment guides, troubleshooting, translation
Features: PDF export, LDAP integration, custom branding, email scheduling
Testing: Unit tests, integration tests, E2E test suite
Performance: Database query optimization, caching layer
API Development: REST API with authentication, GraphQL support, webhooks
AI Enhancement: Local model support (Llama, Mistral), multi-model comparison
Analytics: Historical trends, team analytics, visualization dashboards
Real ways teams have extended Blik
Replace default competencies with company-specific values and technical skills. Create frameworks per role (IC, EM, PM). Import competencies from CSV for bulk setup.
Send review invitations via Slack DM instead of email. Post reminders to team channels. Notify managers when reports ready. Slash command to check review status.
Pull contribution metrics for code review competencies. Link review cycles to promotion processes. Export reports to Markdown for GitHub wikis.
Replace CSS with company branding. Add logo to emails and reports. Customize color scheme to match internal tools. White-label for multi-tenant deployments.
Connect BI tools directly to PostgreSQL. Build custom dashboards in Metabase or Grafana. Export data to data warehouse. Track trends across multiple cycles.
Translate UI to team's language. Django i18n framework ready. Community contributions for translations. RTL language support possible.
Real open source, not open-core
Fork and modify without permission. Use internally without restrictions. No enterprise upsell for features. Community contributions benefit everyone, not just vendor.
AGPL prevents proprietary forks. If someone offers Blik as a service, they must share improvements. Protects community investment. Ensures improvements flow back.
Cannot become closed-source later. Community controls direction. No MongoDB/Elastic-style license switches. Your investment is protected by copyleft.
Use freely internally. Modify as needed. If you offer it as a service, share your changes. Perfect for protecting community-driven projects.
Where we're going and how to get involved
REST API for integrations. PDF report export. Historical trend analysis. LDAP/SSO authentication. Multi-language UI support. Performance optimizations.
GraphQL API. Advanced analytics dashboards. Custom competency builder UI. Workflow automation. Integration marketplace. Mobile app (optional).
Multi-tenant SaaS version (still open source). Plugin architecture for extensions. Team collaboration features. AI coaching suggestions. Open ecosystem of integrations.
Django brings mature ecosystem, excellent ORM, built-in admin interface, and security features by default. Python is widely known. Django has been battle-tested for 15+ years. The admin panel alone saves months of development. Type hints and async support in modern Django. For this use case, Django is the pragmatic choice.
PostgreSQL is the only officially supported database. MySQL lacks some features we use (proper JSON fields, advanced constraints). You could fork and adapt for MySQL, but we recommend PostgreSQL for reliability and feature set. PostgreSQL is included in Docker setup, so there's no extra work.
Fork the repo, create a feature branch, make your changes, add tests, update docs if needed, and open a pull request. Include clear description of what and why. Follow existing code style (Black formatting). All PRs reviewed by maintainers. Small, focused PRs merge faster than large refactors.
Not yet, but it's on the roadmap. Currently, extend by modifying the Django apps directly (it's open source). For custom features, fork and merge in updates from main branch. Plugin architecture planned for 2025 to make extensions cleaner. Until then, Django's app system provides good modularity.
Tested with 500 users and 50 concurrent review cycles without issues. Django is fast enough for this use case. PostgreSQL handles the data volume easily. For 1000+ employees, you might want query optimization and caching. Redis for caching is on the roadmap. Most orgs will never hit performance limits.
Standard git workflow. Pull latest main, review changes, test locally, deploy. Django migrations handle database changes automatically. If you've customized code, merge conflicts are possible. Keep customizations minimal or in separate branch. Consider contributing custom features back so they're maintained upstream.
Currently community-supported via GitHub issues. Paid support options are being explored for 2025. For now, the codebase is clean enough that competent Django developers can self-support. Many companies deploy and maintain it internally.
Clone, deploy, customize, contribute. Built by developers, for developers.
Prefer to focus on code instead of server management? Our EU-hosted version gives you the same open-source codebase, fully managed, for just €49/month.
View Hosted Plans