Skip to main content Website Discovery Brief | Iron Digital MI

Start Your Project — Iron Digital MI

map out Let's map out your website.

Answer 6 quick questions about what you're building. You'll walk away with a full project plan — clear scope, realistic timeline, and exact pricing. No phone call needed to get started.

8–10 minutes
6 short sections
No commitment required
= this.APP_FEATURE_CAP; }, toggleAppFeature(val) { const i = this.app_core_features.indexOf(val); if (i > -1) { this.app_core_features.splice(i, 1); return; } if (this.appFeatureAtCap()) return; this.app_core_features.push(val); }, canProceed() { if (this.step === 1) return this.company_name.trim() && this.contact_name.trim() && this.emailValid() && this.business_description.trim() && this.service_type; if (this.step === 2) { if (this.service_type === 'custom_app') return this.appGoalState().ok; if (this.service_type === 'ai_workflow') return this.workflow_tasks.trim() && !this.nullAnswer(this.workflow_tasks); return this.primary_goal.trim(); } if (this.step === 3) return this.logo_status && this.photography_status; return true; }, async next() { if (this.emailChecking || !this.canProceed()) return; // Leaving the contact step → verify the email's domain can receive mail if (this.step === 1) { this.emailError = ''; this.emailChecking = true; const ok = await this.emailDeliverable(); this.emailChecking = false; if (!ok) { this.emailError = 'That email domain can\'t receive mail. Please double-check your address — it\'s where we send your project blueprint.'; return; } } if (this.step < this.total) { this.step++; window.scrollTo({ top: 0, behavior: 'smooth' }); } }, prev() { if (this.step > 1) { this.step--; window.scrollTo({ top: 0, behavior: 'smooth' }); } }, toggleArr(arr, val) { const i = arr.indexOf(val); if (i === -1) arr.push(val); else arr.splice(i, 1); }, selectPalette(p, type) { const labels3 = ['Background 60%', 'Text & Base 30%', 'Accent 10%']; const labels5 = ['Shade 1', 'Shade 2', 'Shade 3', 'Shade 4', 'Shade 5']; if (type === '3') { this.selected3 = (this.selected3 && this.selected3.id === p.id) ? null : p; if (this.selected3) { this.brand_guidelines_notes = 'Color Palette: ' + p.name + ' (3-color, 60/30/10)\n' + p.colors.map((c, i) => labels3[i] + ': ' + c).join(' | '); this.has_brand_guidelines = 'yes'; } } else { this.selected5 = (this.selected5 && this.selected5.id === p.id) ? null : p; if (this.selected5) { this.brand_guidelines_notes = 'Color Palette: ' + p.name + ' (5-color)\n' + p.colors.map((c, i) => labels5[i] + ': ' + c).join(' | '); this.has_brand_guidelines = 'yes'; } } }, filterPalettes(list, q) { if (!q.trim()) return list; const lq = q.toLowerCase(); return list.filter(p => p.name.toLowerCase().includes(lq) || p.cat.toLowerCase().includes(lq)); }, currentSelected() { return this.paletteTab === '3' ? this.selected3 : this.selected5; }, clearActivePalette() { if (this.paletteTab === '3') this.selected3 = null; else this.selected5 = null; }, loadFonts() { if (document.getElementById('gf-font-pairs')) return; const fontMap = {}; FONT_PAIRS.forEach(p => { [p.heading, p.body].forEach(f => { if (!fontMap[f.name]) fontMap[f.name] = new Set(); fontMap[f.name].add(f.weight); }); }); const params = Object.entries(fontMap) .map(([name, weights]) => 'family=' + encodeURIComponent(name) + ':wght@' + [...weights].sort((a,b)=>Number(a)-Number(b)).join(';')) .join('&'); const link = document.createElement('link'); link.id = 'gf-font-pairs'; link.rel = 'stylesheet'; link.href = 'https://fonts.googleapis.com/css2?' + params + '&display=swap'; document.head.appendChild(link); }, selectFont(p) { this.selectedFont = (this.selectedFont && this.selectedFont.id === p.id) ? null : p; if (this.selectedFont) { const fontLine = 'Fonts: ' + this.selectedFont.heading.name + ' (headings) / ' + this.selectedFont.body.name + ' (body)'; if (this.brand_guidelines_notes.includes('Fonts:')) { this.brand_guidelines_notes = this.brand_guidelines_notes.replace(/Fonts:[^\n]*/g, fontLine); } else if (this.brand_guidelines_notes.trim()) { this.brand_guidelines_notes = this.brand_guidelines_notes.trim() + '\n' + fontLine; } else { this.brand_guidelines_notes = fontLine; } this.has_brand_guidelines = 'yes'; } }, filterFonts(list, q) { if (!q.trim()) return list; const lq = q.toLowerCase(); return list.filter(p => p.name.toLowerCase().includes(lq) || p.cat.toLowerCase().includes(lq) || p.heading.name.toLowerCase().includes(lq) || p.body.name.toLowerCase().includes(lq) ); }, async submit() { if (this.submitting) return; // Final email gate — no lead is created without a valid, mail-capable address this.emailError = ''; if (!this.emailValid() || !(await this.emailDeliverable())) { this.emailError = 'Please enter a valid business email that can receive mail — that\'s where your project blueprint is sent.'; this.step = 1; window.scrollTo({ top: 0, behavior: 'smooth' }); return; } this.submitting = true; this.err = ''; const payload = { company_name: this.company_name, website_url: this.website_url, contact_name: this.contact_name, contact_email: this.contact_email, contact_phone: this.contact_phone, business_description: this.business_description, ideal_customer: this.ideal_customer, primary_goal: this.primary_goal === 'other' ? this.primary_goal_other : this.primary_goal, secondary_goals: this.secondary_goals.includes('other') ? [...this.secondary_goals.filter(g => g !== 'other'), this.secondary_goal_other].filter(Boolean).join(', ') : this.secondary_goals.join(', '), budget: this.budget, launch_date: this.launch_date, hard_deadline_notes: this.hard_deadline === 'yes' ? this.hard_deadline_notes : 'No hard deadline', referral_source: (this.referral_source === 'referral' || this.referral_source === 'other') && this.referral_source_detail ? this.referral_source + ' — ' + this.referral_source_detail : this.referral_source, logo_status: this.logo_status, brand_guidelines: this.has_brand_guidelines === 'yes' ? ('Yes — ' + this.brand_guidelines_notes) : 'No brand guidelines yet', photography_status: this.photography_status, selected_palette: this.selected3 ? '3-Color / ' + this.selected3.name + ': ' + this.selected3.colors.join(', ') : this.selected5 ? '5-Color / ' + this.selected5.name + ': ' + this.selected5.colors.join(', ') : '', selected_font: this.selectedFont ? this.selectedFont.heading.name + ' (headings) / ' + this.selectedFont.body.name + ' (body) — ' + this.selectedFont.name : '', sites_you_love: this.sites_you_love, competitor_sites: this.competitor_sites, design_styles: this.design_styles.join(', '), must_have_features: this.must_have_features.join(', '), integration_details: this.integration_details, nice_to_haves: this.nice_to_haves, copy_responsibility: this.copy_responsibility, estimated_pages: this.estimated_pages, additional_notes: this.additional_notes, service_type: this.service_type, current_tools: this.current_tools, /* Custom app fields */ app_main_goal: this.app_main_goal, app_target_users: this.app_target_users, app_platforms: this.app_platforms.join(', '), app_core_features: this.app_core_features.join(', '), app_monthly_volume: this.app_monthly_volume, /* automation fields */ workflow_tasks: this.workflow_tasks, workflow_hours_week: this.workflow_hours_week, workflow_team_size: this.workflow_team_size, workflow_current_tools: this.workflow_current_tools, honeypot: this.hp, client_token: this.urlToken, }; try { const apiHost = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1' ? 'http://localhost:3000' : 'https://iron-digital-main.onrender.com'; const r = await fetch(`${apiHost}/api/v1/onboarding/submit-direct`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (!r.ok) throw new Error('server error'); // Trigger Google Ads conversion event // Trigger GTM onboarding conversion event window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'onboarding_submission' }); this.submitted = true; } catch (err) { this.err = 'Something went wrong. Please try again or email us at contact@irondigitalmi.com.'; } finally { this.submitting = false; } } }" >

We've got it. Thank you.

Your questionnaire is in. We'll review everything and reach out within one business day to schedule a discovery call.

The Essentials

Basic info to make sure we're talking to the right person about the right project.

Loading your info...

Your contact info has been pre-filled from your inquiry — review and continue.

Please enter a valid email address — it's how we send your project blueprint.

Checking your email…

Age range, industry, what keeps them up at night, how they find you now...

How did you find us?

What service are you looking for? *

This lets us tailor the rest of the questionnaire to your exact project type.

What is the main goal of your website? *

Secondary goals (check all that apply)

Is there a hard deadline?

Your current site, booking tool, CRM, spreadsheets — or nothing yet. Knowing what's already in place tells us what to keep and what to replace.

What's your estimated budget for this project?

This helps us scope appropriately — no range is off the table.

Rough guide

Most of what we build for local businesses lands between $2,500 and $10,000, depending on page count, how much copy and photography we produce, and whether booking or e-commerce is involved.

Not sure is a fine answer — but if a number does come to mind now, pick the band closest to it. It saves us both a round trip.

Describe in plain language what problem it solves or what it enables. This is the most important answer on this form — everything we scope comes from it.

Whatever handles this now — software, a spreadsheet, paper, or DMs. There's no wrong answer, and "nothing yet" is useful too.

Roughly how much activity per month?

Orders, bookings, jobs, tickets — whatever the app would be handling. A rough number is fine; it tells us what the build actually has to support.

Who will use this application?

What platform(s) are needed? (check all that apply)

Which features matter most? (pick up to 4)

Just the ones you'd launch without compromise. We'll cover everything else on the call — narrowing it down here tells us more than a long list would.

What's your estimated budget for this project?

Helps us scope the right tech stack and team size.

Worth knowing

Custom applications are the most expensive thing we build — a working MVP typically starts around $15,000 and climbs with every integration and user type.

If that's higher than you expected, don't close the tab. There's often an off-the-shelf tool that does most of this for a monthly fee, and we'll tell you honestly if that's the better move — we'd rather point you somewhere good than sell you something you don't need.

Be specific — the more detail you give, the better we can identify automation opportunities.

Hours per week spent on these tasks?

How many people deal with this?

CRM, email platform, spreadsheets, project management software — anything relevant.

Estimated budget for this automation project?

Business automation is typically scoped by complexity — this helps us give you an accurate estimate.

Branding & Assets

Let's figure out what you have and what we'll need to create together.

Logo status *

Do you have brand guidelines?

Colors, fonts, voice, a brand book — anything that defines how your brand looks and sounds.

Color palette direction (optional)

Browse 220 curated palettes. Select one and the hex codes are automatically added to your brand notes above.

Hex codes added to brand guidelines field above

Typography pairing (optional)

Browse 40 curated heading + body font pairings from Google Fonts. Select one and it's added to your brand notes above. The preview shows your business name.

Photography & visual assets *

Design Aesthetics & Vibe

Design is hard to describe in words — examples and checkboxes work better.

They don't need to be in your industry. Tell us what specifically you like about each one.

What do you like or dislike about each one?

Pick 3–4 words that describe the look and feel you want

Features & Must-Haves

Declaring necessities upfront is the best protection against scope creep down the road.

What features are absolutely required for this project to succeed? Which of these would need to be in the first release?

You picked your core features earlier — this is about sequencing. What has to work on day one, versus what can follow later?

Content & Wrap-Up

Content delays are the #1 reason web projects go over schedule. Let's be honest here.

Who's writing the copy (website text)?

e.g. Home, About, Services, Contact = 4 pages

Past bad experiences, specific concerns, a gut feeling — anything that doesn't fit above.

By submitting this form you agree that Iron Digital MI will use this information solely to scope your project and contact you about a potential engagement. We don't sell or share your data.

01

We read your brief

Before any call, we study what you submitted. You won't repeat yourself from scratch.

02

30-min discovery call

No sales pressure. We talk through the project, ask the right questions, and see if there's a fit.

03

Clear proposal

You get a specific scope, timeline, and fixed price — not a vague estimate that grows after signing.