Discord 💬 | Demo 🖥️ | Docs 📄 | Deploy Locally in 30 Sec! 🚀
Qlarr is an open-source, self-hosted survey framework that takes a survey-as-code approach. Surveys are defined using JSON for structure and JavaScript for logic, making them platform-agnostic and executable across web, Android, and iOS from a single definition.
Built for researchers, organizations, and developers who need full control over their survey infrastructure, Qlarr runs entirely on your own servers — no third-party data processing, no vendor lock-in.
- 📄 Survey As Code - Write survey structure in JSON, and survey logic in JavaScript
- 📴 Offline-First Design - Collect data anywhere without internet connectivity
- ⍰ Conditional Logic & Skip Logic - Advanced branching based on user responses
- ✅ Input Validation - Ensure data quality with built-in validation checks
- 🎲 Randomization & Sampling - Randomize questions and options with weighted priorities
- 🌐 Multilingual Surveys - Support for multiple languages
- 🔗 Piping - Reference and display values from previous answers
- ⬅️➡️ Flexible Navigation - All questions, page-by-page, or question-by-question
- 🎨 Conditional Formatting - Dynamic styling based on responses
- ⏱️ Time Limits & 📊 Scoring (WIP) - Perfect for quizzes and timed assessments
git clone https://github.com/qlarr-surveys/frontend.git && cd frontend/deploy
docker compose -f docker-compose.local.yml up -dThen visit http://localhost:3000 (login: admin@admin.admin / admin).
| Repository | Description |
|---|---|
| Survey Engine (KMP) | Core Kotlin Multiplatform engine — compiles survey definitions, manages execution state, and ensures consistent behavior across all platforms |
| Survey Engine Script | JavaScript library that parses and validates survey logic expressions safely within a sandboxed AST |
| Backend | Spring Boot REST API handling survey management, response storage, authentication, and offline sync |
| Frontend | React-based WYSIWYG survey designer and respondent-facing survey renderer |
| Android App | Native Android client powered by the KMP engine for true offline data collection |
We welcome contributors! Join our Discord to chat with us directly, open a Discussion for feature ideas, or raise an issue with clear reproduction steps for bugs.
All repositories are licensed under AGPL-3.0.