Self-hosted 360-degree feedback and performance review system.
Blik is an open-source application for conducting anonymous 360-degree feedback reviews. Built with Django, it provides organizations with a privacy-focused alternative to commercial performance review platforms.
Run Blik with a single Docker command:
docker build -t blik .
docker run -d -p 8000:8000 -v blik-data:/app blikVisit http://localhost:8000/setup/ to complete the interactive setup wizard.
One-Click Deploy Options:
- DigitalOcean App Platform - Fully managed PaaS (~$20/month) - Guide
- Dokploy - Self-hosted deployment platform - Guide
Manual Deployment:
See complete guides for:
- DigitalOcean Deployment - App Platform or Droplet setup
- General Deployment Guide - Nginx/Caddy, email, SSL/HTTPS, backups
- Anonymous Feedback - Token-based access system with no reviewer tracking
- Admin Dashboard - Complete review cycle management interface
- Dual Questionnaires - Professional Skills & Software Engineering templates (Dreyfus model-based)
- Analytical Reports - Statistical analysis with configurable anonymity thresholds
- Email Notifications - SMTP integration for invites and reminders
- Setup Wizard - Interactive first-run setup at
/setup/ - Docker-Ready - Single command deployment with SQLite or PostgreSQL
- Administrator creates a review cycle and designates a reviewee
- System generates unique anonymous tokens for each reviewer relationship
- Reviewers receive email invitations with tokenized access links
- Reviewers complete feedback forms accessible only via their token
- Responses are stored without attribution to reviewer identity
- Reports are generated when minimum response thresholds are met
- Aggregated results are provided to reviewee and designated administrators
Blik implements several measures to ensure reviewer anonymity:
- Token-based access without user authentication for reviewers
- Configurable minimum response thresholds before displaying results
- Separation of feedback by rater category to prevent identification
- No storage of token-to-reviewer mappings in standard operation
- Rate limiting on token validation to prevent enumeration
- Administrative access does not expose individual response attribution
The standalone Docker image supports SQLite (default) and PostgreSQL:
docker run -d -p 8000:8000 \
-e DATABASE_TYPE=postgres \
-e DATABASE_URL=postgresql://user:password@host:5432/dbname \
-v blik-data:/app \
blikOr with separate database variables:
docker run -d -p 8000:8000 \
-e DATABASE_TYPE=postgres \
-e DATABASE_HOST=your-db-host.example.com \
-e DATABASE_NAME=blik \
-e DATABASE_USER=blik_user \
-e DATABASE_PASSWORD=your_secure_password \
-v blik-data:/app \
blikDatabase:
DATABASE_TYPE-sqlite(default) orpostgresDATABASE_URL- Full connection string (overrides individual settings)DATABASE_HOST,DATABASE_NAME,DATABASE_USER,DATABASE_PASSWORD- Individual settings
Security:
SECRET_KEY- Django secret key (auto-generated if not provided)ENCRYPTION_KEY- For encrypting SMTP passwordsALLOWED_HOSTS- Comma-separated hostnames (default:*)DEBUG-TrueorFalse(default:False)
See docs/DEPLOYMENT.md for complete environment variable documentation.
git clone https://github.com/yourusername/blik.git
cd blik
cp .env.example .env
docker compose up -dVisit http://localhost:8000/setup/ to complete setup.
See the Issues page for current development tasks. Contributors welcome for:
- Core application development
- UI/UX design
- Documentation and technical writing
- Internationalization and localization
- Security review and testing
- Deployment Guide - Production deployment with Dokploy, manual Docker, Nginx/Caddy setup, email configuration
- Admin Guide - Managing review cycles, users, and questionnaires
- User Guide - For reviewees and reviewers
- Report Guide - Understanding feedback reports
- Requirements - MVP requirements and roadmap
- Backend: Django 5.x with multi-organization support
- Database: SQLite (default) or PostgreSQL 15
- Frontend: Django templates with modern CSS
- Deployment: Docker and Docker Compose with Gunicorn
- Static Files: WhiteNoise for efficient static file serving
- Email: SMTP integration (supports Gmail, SendGrid, AWS SES, Mailgun, etc.)
Blik is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.
The AGPL license ensures that any modifications used to provide a network service must be made available as open source, while allowing free use for internal organizational purposes.