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 Stack │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐│
│ │ Nginx │ │ Django │ │ PostgreSQL ││
│ │ (Optional) │────────▶│ Web App │────────▶│ Database ││
│ │ Reverse │ :80 │ Gunicorn │ :5432 │ Persistent ││
│ │ Proxy │ :443 │ WhiteNoise │ │ Volume ││
│ └──────────────┘ └──────┬───────┘ └──────────────┘│
│ │ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Admin Dashboard │ │ REST API │ │ Email Service │ │
│ │ /dashboard/ │ │ /api/v1/ │ │ Django SMTP │ │
│ │ - Settings │ │ - CRUD ops │ │ or External │ │
│ │ - Teams │ │ - Webhooks │ │ (SendGrid, etc) │ │
│ │ - Cycles │ │ - API Docs │ └──────────────────┘ │
│ │ - Reports │ └──────┬───────┘ │
│ └──────────────────┘ │ │
│ │ Async Webhooks (threaded) │
│ │ │
└────────────────────────────────┼──────────────────────────────────┘
│
▼
┌────────────────────────────────────────┐
│ External Integrations (Your Code) │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Webhook Endpoints │ │
│ │ - cycle.created │ │
│ │ - feedback.submitted │ │
│ │ - report.generated │ │
│ │ HMAC-SHA256 verified │ │
│ └──────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────┐ │
│ │ API Clients │ │
│ │ - Bearer token auth │ │
│ │ - Organization scoped │ │
│ │ - Rate limiting ready │ │
│ └──────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────┐ │
│ │ BI/Analytics Tools │ │
│ │ - Direct PostgreSQL access │ │
│ │ - Metabase, Grafana, etc │ │
│ └──────────────────────────────────┘ │
└────────────────────────────────────────┘
Key Architecture Features:
• Async webhook delivery (non-blocking, threaded)
• UUID-based tokens prevent enumeration attacks
• Organization-scoped multi-tenancy
• REST API with OpenAPI/Swagger docs at /api/docs/
• Django signals for event-driven architecture
• Fixture-based default questionnaires (auto-loaded on migrate)
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.
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 Enhancement: GraphQL support, extended webhook events
AI Enhancement: Local model support (Llama, Mistral), multi-model comparison
Analytics: Historical trends, team analytics, visualization dashboards
Possible customizations for self-hosted deployments. These are development ideas, not included integrations.
Replace default competencies with company-specific values and technical skills. Create frameworks per role (IC, EM, PM). Import competencies from CSV for bulk setup.
A potential contribution could send review invitations and reminders through Slack. There is no shipped Slack or Teams integration.
A custom integration could connect code-review context to a review cycle. Blik does not ship a GitHub connector or Markdown report export.
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
These are development directions, not features included in today's product or delivery commitments.
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. A plugin system is planned without a release date. For now, extend the Django apps directly in your fork and merge upstream updates as needed.
Runs comfortably on a 1 GB VPS for typical team sizes (512 MB minimum).
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.
Self-hosted users can use GitHub issues for community support. Hosted SaaS includes email support; Enterprise includes priority support and an SLA. Compare hosted plans for the current limits and terms.
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