Interior Design Client Intake Form: Capture Project Briefs That Convert
"I want it to feel cozy but modern. Maybe some blue? Actually, I'm not sure about the color. I'll know it when I see it." Every designer has heard some version of this. Clients often don't know how to articulate what they want - and that's okay. Your job is to ask the right questions.
A good intake form does this heavy lifting before the consultation. Instead of spending the first hour figuring out basics, you walk in knowing their style preferences, budget constraints, lifestyle needs, and project scope. The conversation starts at "here are my ideas for your space" instead of "so what are you looking for?"
We'll build a comprehensive design intake that covers residential and commercial projects, captures style preferences visually, and asks the lifestyle questions that reveal what clients actually need (even if they don't know to mention it).
Project Scope First
Start with what you're dealing with. A single room refresh is a different conversation than a full home design for new construction.
const projectSection = form.addSubform('project', {
title: 'Tell Us About Your Project'
});
projectSection.addRow(row => {
row.addDropdown('projectType', {
label: 'What type of project is this?',
options: [
{ id: 'full-home', name: 'Full Home Design' },
{ id: 'single-room', name: 'Single Room' },
{ id: 'multi-room', name: 'Multiple Rooms' },
{ id: 'renovation', name: 'Renovation/Remodel' },
{ id: 'new-build', name: 'New Construction' },
{ id: 'staging', name: 'Home Staging' },
{ id: 'commercial', name: 'Commercial Space' }
],
isRequired: true
});
});
projectSection.addRow(row => {
row.addChips('rooms', {
label: 'Which rooms need design?',
options: [
{ id: 'living', name: 'Living Room' },
{ id: 'dining', name: 'Dining Room' },
{ id: 'kitchen', name: 'Kitchen' },
{ id: 'master-bed', name: 'Master Bedroom' },
{ id: 'bedroom', name: 'Other Bedrooms' },
{ id: 'bathroom', name: 'Bathroom(s)' },
{ id: 'office', name: 'Home Office' },
{ id: 'nursery', name: 'Nursery/Kids Room' },
{ id: 'outdoor', name: 'Outdoor Space' },
{ id: 'basement', name: 'Basement' }
],
isVisible: () => ['single-room', 'multi-room', 'renovation'].includes(projectType.value() ?? '')
});
});Room selection only appears for relevant project types. Someone doing a full home design doesn't need to check boxes - you're designing everything. But a "multiple rooms" client needs to tell you which ones.
Style Preferences
This is where intake forms can really help. Instead of vague conversations about "feeling," you get concrete style indicators.
const styleSection = form.addSubform('style', {
title: 'Style Preferences'
});
styleSection.addRow(row => {
row.addChips('styles', {
label: 'Which styles appeal to you? (Select up to 3)',
options: [
{ id: 'modern', name: 'Modern/Contemporary' },
{ id: 'minimalist', name: 'Minimalist' },
{ id: 'traditional', name: 'Traditional' },
{ id: 'transitional', name: 'Transitional' },
{ id: 'farmhouse', name: 'Farmhouse' },
{ id: 'industrial', name: 'Industrial' },
{ id: 'scandinavian', name: 'Scandinavian' },
{ id: 'bohemian', name: 'Bohemian' },
{ id: 'coastal', name: 'Coastal' },
{ id: 'mid-century', name: 'Mid-Century Modern' },
{ id: 'glam', name: 'Hollywood Glam' },
{ id: 'rustic', name: 'Rustic' }
],
maxSelections: 3
});
});
styleSection.addRow(row => {
row.addChips('colors', {
label: 'Color preferences',
options: [
{ id: 'neutral', name: 'Neutrals' },
{ id: 'warm', name: 'Warm Tones' },
{ id: 'cool', name: 'Cool Tones' },
{ id: 'bold', name: 'Bold Colors' },
{ id: 'earth', name: 'Earth Tones' },
{ id: 'monochrome', name: 'Black & White' },
{ id: 'pastels', name: 'Pastels' }
],
maxSelections: 2
});
});
styleSection.addRow(row => {
row.addTextbox('inspiration', {
label: 'Describe your vision or share inspiration',
multiline: true,
rows: 3,
placeholder: 'Pinterest boards, Instagram accounts, magazines, hotels you loved...'
});
});Limiting to 3 style selections forces focus. Someone who picks 8 styles isn't helping you - they're saying "I like everything." Three choices reveal actual preferences.
Color preferences plus style creates a strong starting point. Modern + neutrals is very different from Modern + bold colors. You're already forming a vision before meeting them.
Pro tip
The inspiration field is gold. Clients who share Pinterest boards or specific hotels they loved give you direct insight into their taste. Even "I loved the lobby at the Ace Hotel" tells you more than 20 checkbox selections.
Budget Reality Check
Budget conversations are awkward in person. Forms make them easier. Clients can consider the question privately without feeling judged.
const budgetSection = form.addSubform('budget', {
title: 'Budget & Timeline'
});
// Dynamic budget ranges based on project type
const getBudgetOptions = () => {
const type = projectType.value();
if (type === 'full-home' || type === 'new-build') {
return [
{ id: '25-50k', name: '$25,000 - $50,000' },
{ id: '50-100k', name: '$50,000 - $100,000' },
{ id: '100-200k', name: '$100,000 - $200,000' },
{ id: '200k+', name: '$200,000+' }
];
}
if (type === 'commercial') {
return [
{ id: '50-100k', name: '$50,000 - $100,000' },
{ id: '100-250k', name: '$100,000 - $250,000' },
{ id: '250-500k', name: '$250,000 - $500,000' },
{ id: '500k+', name: '$500,000+' }
];
}
return [
{ id: '5-10k', name: '$5,000 - $10,000' },
{ id: '10-25k', name: '$10,000 - $25,000' },
{ id: '25-50k', name: '$25,000 - $50,000' },
{ id: '50k+', name: '$50,000+' }
];
};
budgetSection.addRow(row => {
row.addDropdown('budget', {
label: 'Project Budget (furniture & decor)',
options: getBudgetOptions,
helpText: 'Excluding contractor/construction costs'
});
row.addDropdown('budgetFlexibility', {
label: 'Budget Flexibility',
options: [
{ id: 'firm', name: 'Firm budget' },
{ id: 'some', name: 'Some flexibility' },
{ id: 'flexible', name: 'Very flexible for the right pieces' }
]
});
});
budgetSection.addRow(row => {
row.addDropdown('timeline', {
label: 'Desired Completion',
options: [
{ id: 'asap', name: 'As soon as possible' },
{ id: '1-3', name: '1-3 months' },
{ id: '3-6', name: '3-6 months' },
{ id: '6-12', name: '6-12 months' },
{ id: 'no-rush', name: 'No rush' }
]
});
row.addTextbox('deadline', {
label: 'Any specific deadline?',
placeholder: 'e.g., Moving in June, hosting event in December'
});
});Dynamic budget ranges based on project type set realistic expectations. A single room project doesn't need $200k+ as an option - it would just confuse people. Full home designs need higher ranges.
Budget flexibility matters as much as the number. "Very flexible for the right pieces" means you can show them that perfect $8k sofa. "Firm budget" means stick to the number.
Property Details
Understanding the physical space helps you prepare and price appropriately.
const propertySection = form.addSubform('property', {
title: 'Property Details'
});
propertySection.addRow(row => {
row.addDropdown('propertyType', {
label: 'Property Type',
options: [
{ id: 'house', name: 'Single Family Home' },
{ id: 'condo', name: 'Condo/Apartment' },
{ id: 'townhouse', name: 'Townhouse' },
{ id: 'loft', name: 'Loft' },
{ id: 'commercial', name: 'Commercial Space' }
]
});
row.addDropdown('ownership', {
label: 'Do you own or rent?',
options: [
{ id: 'own', name: 'Own' },
{ id: 'rent', name: 'Rent' }
]
});
});
propertySection.addRow(row => {
row.addInteger('sqft', {
label: 'Approximate Square Footage',
min: 100,
max: 50000,
suffix: 'sq ft'
});
});
propertySection.addRow(row => {
row.addAddress('address', {
label: 'Property Address',
helpText: 'For site visit scheduling'
});
});Ownership status affects what you can recommend. Renters can't knock down walls or change fixtures. Owners have more flexibility but also more decisions to make.
Lifestyle Questions
This section separates good intake forms from generic ones. A gorgeous white sofa is a terrible recommendation for a family with toddlers and a golden retriever. You need to know how they actually live.
const lifestyleSection = form.addSubform('lifestyle', {
title: 'About Your Lifestyle'
});
lifestyleSection.addRow(row => {
row.addDropdown('household', {
label: 'Who lives in your home?',
options: [
{ id: 'single', name: 'Just me' },
{ id: 'couple', name: 'Couple' },
{ id: 'family-young', name: 'Family with young children' },
{ id: 'family-teens', name: 'Family with teenagers' },
{ id: 'empty-nest', name: 'Empty nesters' },
{ id: 'roommates', name: 'Roommates' }
]
});
row.addDropdown('pets', {
label: 'Any pets?',
options: [
{ id: 'none', name: 'No pets' },
{ id: 'dog', name: 'Dog(s)' },
{ id: 'cat', name: 'Cat(s)' },
{ id: 'both', name: 'Dogs and cats' },
{ id: 'other', name: 'Other pets' }
]
});
});
lifestyleSection.addRow(row => {
row.addChips('priorities', {
label: 'What matters most to you?',
options: [
{ id: 'durability', name: 'Durability' },
{ id: 'easy-clean', name: 'Easy to Clean' },
{ id: 'luxury', name: 'Luxury Feel' },
{ id: 'eco-friendly', name: 'Eco-Friendly' },
{ id: 'kid-friendly', name: 'Kid-Friendly' },
{ id: 'pet-friendly', name: 'Pet-Friendly' },
{ id: 'entertaining', name: 'Great for Entertaining' },
{ id: 'comfort', name: 'Comfort Above All' }
],
maxSelections: 3
});
});
lifestyleSection.addRow(row => {
row.addChips('avoid', {
label: 'Anything you want to avoid?',
options: [
{ id: 'white', name: 'White Furniture' },
{ id: 'leather', name: 'Leather' },
{ id: 'glass', name: 'Glass Tables' },
{ id: 'delicate', name: 'Delicate Fabrics' },
{ id: 'dark', name: 'Dark Colors' },
{ id: 'trendy', name: 'Trendy/Fads' }
]
});
});Pets and kids aren't just cute details - they're design constraints. Pet-friendly means durable fabrics, no delicate vases at tail height, maybe a designated pet area. Young kids mean easy-clean surfaces, no sharp corners, hidden storage for toys.
The "avoid" section catches strong preferences that might not come up otherwise. Someone who hates leather will be miserable with even the most beautiful leather sofa. Better to know upfront.
See more client intake examples in our gallery.
Existing Pieces
Some clients want to start fresh. Others have a beloved heirloom or a brand-new couch they need to keep. Understanding this affects everything.
const existingSection = form.addSubform('existing', {
title: 'Existing Pieces'
});
existingSection.addRow(row => {
row.addRadioButton('startFresh', {
label: 'Are you starting fresh or keeping existing pieces?',
options: [
{ id: 'fresh', name: 'Starting completely fresh' },
{ id: 'keep-some', name: 'Keeping some pieces' },
{ id: 'keep-most', name: 'Keeping most, adding accents' }
],
orientation: 'vertical'
});
});
existingSection.addRow(row => {
row.addTextbox('keepItems', {
label: 'What pieces are you keeping?',
multiline: true,
rows: 3,
placeholder: 'Describe furniture or items you want to work around...',
isVisible: () => startFresh.value() !== 'fresh'
});
});
existingSection.addRow(row => {
row.addFileUpload('photos', {
label: 'Upload photos of your space',
accept: '.jpg,.jpeg,.png,.heic',
multiple: true,
maxFiles: 10,
maxSize: 10 * 1024 * 1024,
helpText: 'Current room photos help us understand your space. Up to 10 images.'
});
});Photo uploads are incredibly valuable. Seeing the current state of the space - layout, lighting, existing pieces - gives you context that descriptions can't capture. Encourage clients to upload multiple angles.
Service Level
Different clients need different levels of involvement. Some want you to handle everything. Others just need direction.
const servicesSection = form.addSubform('services', {
title: 'Services Needed'
});
servicesSection.addRow(row => {
row.addChips('services', {
label: 'What services are you looking for?',
options: [
{ id: 'full-service', name: 'Full Service Design' },
{ id: 'edesign', name: 'E-Design/Virtual' },
{ id: 'consultation', name: 'Consultation Only' },
{ id: 'shopping', name: 'Personal Shopping' },
{ id: 'styling', name: 'Styling/Accessorizing' },
{ id: 'color', name: 'Color Consultation' },
{ id: 'space-planning', name: 'Space Planning' },
{ id: 'renovation', name: 'Renovation Management' }
]
});
});
servicesSection.addRow(row => {
row.addRadioButton('purchasing', {
label: 'How would you like to handle purchasing?',
options: [
{ id: 'designer', name: 'Designer handles everything' },
{ id: 'collaborate', name: 'Collaborate on purchases' },
{ id: 'self', name: 'I\'ll purchase myself from your recommendations' }
],
orientation: 'vertical'
});
});E-design and virtual services expanded massively - many designers now work remotely with clients they've never met in person. The form should capture if that's what they're looking for.
Purchasing preferences affect your workflow and pricing. Full-service with designer purchasing is a premium offering. Consultation-only with self-purchasing is different scope entirely.
Contact Information
Save contact details for last. By now they've invested time describing their dream project. Asking for their email feels natural.
const contactSection = form.addSubform('contact', {
title: 'Your Information'
});
contactSection.addRow(row => {
row.addTextbox('name', {
label: 'Your Name',
isRequired: true
});
row.addEmail('email', {
label: 'Email',
isRequired: true
});
});
contactSection.addRow(row => {
row.addPhone('phone', {
label: 'Phone Number',
isRequired: true
});
row.addDropdown('contactPreference', {
label: 'Preferred Contact Method',
options: [
{ id: 'email', name: 'Email' },
{ id: 'phone', name: 'Phone' },
{ id: 'text', name: 'Text' }
],
defaultValue: 'email'
});
});
contactSection.addRow(row => {
row.addDropdown('hearAbout', {
label: 'How did you hear about us?',
options: [
{ id: 'google', name: 'Google Search' },
{ id: 'instagram', name: 'Instagram' },
{ id: 'pinterest', name: 'Pinterest' },
{ id: 'houzz', name: 'Houzz' },
{ id: 'referral', name: 'Friend/Family Referral' },
{ id: 'other', name: 'Other' }
]
});
});"How did you hear about us" helps track which marketing channels work. Instagram and Pinterest are huge for designers - knowing where clients find you helps focus your efforts.
Why This Level of Detail Matters
Some designers worry a long form will scare clients away. The opposite is true for serious clients.
People looking to invest $50k+ in their home are happy to spend 15 minutes telling you what they want. They'd rather answer questions thoughtfully at home than feel rushed in person trying to articulate their vision on the spot.
The form also filters. Someone who won't complete a detailed questionnaire probably won't be easy to work with. They might not be ready to commit, or they might be shopping for free ideas. Either way, you've saved yourself an unpaid consultation.
Making It Visual
Interior design is visual. Where possible, enhance your form with images:
Style selection: Show a photo representing each style option. "Modern" means different things to different people - a photo makes it concrete.
Color palettes: Instead of just "warm tones," show actual color swatches people can react to.
Material samples: If you're asking about fabric preferences, show examples of velvet, linen, leather.
After Submission
Immediate confirmation email with everything they submitted. Include next steps: "We'll review your project brief and reach out within 48 hours to schedule a consultation."
Review submissions before calling. Walk into consultations already understanding their style, budget, and constraints. Reference specific things they mentioned - it shows you actually read their answers.
For premium clients (high budget, full-service), consider a quick personalized video response. "Thanks for the detailed brief, I already have some ideas for your living room based on the mid-century modern preference you mentioned..."
Common Questions
How long should an interior design intake form be?
15-25 fields is typical. Serious clients will complete detailed forms - they want you to understand their vision. Use conditional logic to hide irrelevant sections. Commercial clients don't need 'do you have pets?' questions.
Should I include pricing information in the form?
Budget range is essential - it filters clients who can't afford your services. But don't show your fees in the form. That's a conversation for after you understand project scope. Let them fall in love with working with you first.
What about clients who are vague in their answers?
Vague answers are still useful data. Someone who writes 'not sure' for style preferences needs more discovery. Someone who writes three paragraphs about their Pinterest inspiration is ready to go. Adjust your consultation approach accordingly.
Should I require photo uploads?
Make photos optional but encouraged. Required uploads create friction - some clients won't have photos ready. But include strong language about how helpful photos are. Most serious clients will provide them.