Hi, My name is Soumitra Dutta, an Oxford-based entrepreneur & photographer. I’m trying to build a form in commcare but i’m not sure i’m doing it the best way. has anyone worked on something similar or have tips on form design, logic, or structure? i’d really appreciate any suggestions or examples!
Regards
Soumitra Dutta
I'd be happy to help you get started with building and customizing forms in CommCare! Let me check the knowledge base for the best resources on form design.
Hi Soumitra! Welcome to the CommCare community! 
Great to hear you're working on building forms in CommCare. Here are some resources and tips to help you get started:
Key Resources for Form Building:
-
Form Builder Documentation: The Form Builder guide provides a comprehensive overview of how to create and customize forms in CommCare. It covers:
- Question types (text, multiple choice, dates, GPS, etc.)
- Question properties and logic
- Display conditions and validation
- Form structure best practices
-
Question Types: Check out the List of Question Types to understand all the different ways you can collect data.
-
Learning Courses: I highly recommend the CommCare Application Building Course on Dimagi Academy - it's free and will walk you through the fundamentals step by step.
Form Design Tips:
- Keep it simple: Don't try to do too much in one form. Simpler forms are easier to use and have higher success rates.
- Use single-select over text: Wherever possible, replace text questions with multiple choice questions - they're faster and less error-prone.
- Add validation: Use calculations to minimize errors (e.g., if asking for a birth date, show the calculated age so users can verify).
- Use groups: Groups help organize related questions and make it easier to apply logic to multiple questions at once.
- Keep forms under 1,000 questions for optimal performance.
Getting Started:
- Log into CommCare HQ
- Navigate to your application
- Click on a form from the left panel
- Use the "Add Question" dropdown to start building
Feel free to share more details about what you're trying to build, and the community can provide more specific guidance! What type of data are you trying to collect?