Overview
The Nudj platform provides a flexible question and variable system that enables dynamic data collection across your community. This dual-system architecture separates structured gamification questions (actions) from flexible form-based data collection (variables), providing maximum customization capabilities.System Architecture
- Actions - Structured challenge questions with scoring and validation
- Variables - Flexible form fields for data collection
- Question Bank - Reusable question templates
- Validation Engine - Multi-layer validation with external API support
- Type Safety - TypeScript and Zod schema enforcement
Accessing Questions Configuration
Navigate to questions and variables settings:- Go to Admin → Settings → Organisation
- Click the Questions tab
- Configure variables and question templates
The Questions tab primarily manages Variables - flexible form fields used across the platform. Challenge-specific questions are configured within individual challenges as Actions.
Variables System
What Are Variables?
Variables are configurable form fields that collect user data across different contexts:- Profile Information: Custom profile fields beyond standard data
- Onboarding Forms: Collect information during user registration
- Challenge Submissions: Additional data for challenge completion
- Survey Responses: Gather feedback and insights
- Event Registration: Capture attendee information
Variable Types
- Text Variables
- Selection Variables
- Numeric Variables
- Date Variables
- Boolean Variables
Single-line and Multi-line Text:
Variable Configuration
Creating Variables
1
Define Variable
Set the variable type, name, and label
2
Configure Validation
Add validation rules and error messages
3
Set Display Options
Configure placeholder text, help text, and visibility
4
Enable in Question Bank
Make available for reuse across contexts
5
Test Variable
Preview in form context before publishing
Variable Properties
Advanced Validation
Validation Rules
Pattern Validation
Pattern Validation
Custom Function
Custom Function
External API
External API
Security Considerations for External API Validation:
- Data Privacy: Avoid sending raw PII to external validators. Hash or tokenize sensitive data when possible.
- Authentication: Require proper authentication and authorization on validation endpoints.
- Input Sanitization: Validate and sanitize inputs before sending; minimize data in responses.
- Performance: Implement caching, rate-limiting, and debouncing (min 300ms) to reduce server load.
- Resilience: Set reasonable timeouts (3-5s max) and handle failures gracefully without blocking the UI.
Cross-field Validation
Cross-field Validation
Conditional Logic
Show/hide fields based on conditions:Challenge Questions (Actions)
Action Types
Challenge questions are implemented as Actions within the gamification system:Quiz Action
Multiple choice questions with scoring
Prediction Action
Forecast outcomes with accuracy scoring
Video Interaction
Watch content with engagement tracking
Quick Time Action
Time-based challenges with speed bonuses
Estimation Action
Numeric guessing with proximity scoring
Drawing Action
Creative submissions with peer voting
Action Configuration
Question Bank
Reusable Templates
The Question Bank allows you to create templates for commonly used questions:- Profile Questions
- Feedback Questions
- Event Questions
Template Management
1
Create Template
Build reusable question sets
2
Categorize
Organize by use case or department
3
Tag for Search
Add tags for easy discovery
4
Version Control
Track template changes over time
5
Share Across Teams
Make available organization-wide
Implementation Examples
Onboarding Form
Challenge Submission
Data Management
Storage and Retrieval
Variables data is stored with strong typing and validation:Data Export
Export collected data for analysis:Analytics and Reporting
Variable Analytics
Track form completion and field performance:Metric | Description | Use Case |
---|---|---|
Completion Rate | % of users completing field | Identify friction points |
Error Rate | % of validation failures | Improve validation messages |
Time to Complete | Average time per field | Optimize form length |
Drop-off Points | Where users abandon | Simplify complex fields |
Question Performance
For challenge questions, track:- Correct answer rate
- Average time to answer
- Skip rate
- Difficulty scoring
- Engagement metrics
Best Practices
Keep Forms Short
Only ask for essential information
Progressive Disclosure
Show fields based on previous answers
Clear Labels
Use descriptive, jargon-free labels
Helpful Validation
Provide specific, actionable error messages
Mobile Optimization
Test all forms on mobile devices
Accessibility
Ensure WCAG compliance for all fields
Troubleshooting
Variable not appearing
Variable not appearing
- Check visibility settings and conditional logic
- Verify variable is enabled in current context
- Clear cache and refresh page
Validation not working
Validation not working
- Test validation pattern in regex tester
- Check for conflicting validation rules
- Verify API endpoint for external validation
Data not saving
Data not saving
- Ensure required fields are completed
- Check browser console for errors
- Verify user has permission to submit
Question Bank templates missing
Question Bank templates missing
- Confirm availableInQuestionBank is enabled
- Check category and tag filters
- Verify permissions for template access