QuiPlans Internal · Phase 2 Refinement

Product Logic, Rec Engine & Feasibility Workflow Report

Generated 2026-05-25 · Pre-Meta-Launch · 9 Sections · Admin Only

5 P0 Blockers5 P1 FixesAI/PE Separation RequiredPricing Restructure Needed
🧠

Section 1 — Recommendation Engine Refinement

Buildable envelope algorithm, plan filtering logic, and anti-bias ranking

Current State: Feature-Biased

P0

Plans 30/31/32 always surface first regardless of lot fit

P0

No buildable envelope calculation from lot dimensions

P1

2-story feasibility never evaluated — many qualified lots ignored

P1

No plan footprint width filtering — oversized plans shown on narrow lots

P2

Recommendation rationale never shown to user — opaque matching

P1

Garage conversion logic routes to same plans as ADU — wrong product match

Step 1 — Buildable Envelope Inputs

lot_size_categoryQuizEstimate lot dimensions
stateLead form / ZIPJurisdiction setback defaults
property_typeQuizCorner lot / flag lot adjustments
lot_slopeQuiz2-story eligibility, foundation type
desired_adu_typeQuizFootprint preference + size
intended_useQuizBed count preference (rental vs. family)

Step 3 — Ranking Score Adjustments

+20Plan sqft within 80–100% of buildable area (optimal use)
+15Bedrooms match user's stated preference
+15Plan type matches intended use (rental → studio/1bd)
+102-story eligible lot + 2-story plan in library
+10Compact plan (≤600 sqft) on small lot
-15Plan is 'featured' with no other fit signals (anti-bias)
-20Plan sqft exceeds jurisdiction max (compliance risk)

Special Lot Scenarios

2-Story ADU

Trigger: lot_width < 30ft, lot_size > 3,000 sqft

Opportunity: Same footprint, more space. Show 2-story ADU plans.

Data gap: Need footprint_width in Plan entity

Narrow Lot

Trigger: lot_width_est < 35ft

Opportunity: Compact studio/1-bed designs, vertical plans

Data gap: Need min_lot_width_ft in Plan entity

Large Lot

Trigger: lot_size > 10,000 sqft

Opportunity: Surface all sizes incl. 2-bed, 2-story, larger designs

Data gap: No gap — expand results shown

Garage Conversion

Trigger: property_type = single_family + garage indicated

Opportunity: Separate funnel → GarageConversionLanding + distinct plans

Data gap: Separate plan category + footprint math

📐

Section 2 — Plan Matching Accuracy

Data gaps, quiz improvements, and fit explanation requirements

Data Gaps in Plan Entity

footprint_width_ft

Filter plans by buildable lot width

footprint_depth_ft

Filter plans by buildable lot depth

min_lot_width_ft

Hard filter — don't show plan if lot too narrow

min_lot_size_sqft

Hard filter — minimum lot for this design

These 4 fields need to be added to the Plan entity schema and populated for the top 10 plans before launch.

Quiz Data Gaps

Missing: Lot dimensions

Quiz asks lot_size_category (small/medium) but NOT width × depth. Width is the critical missing signal for matching.

Fix: Add optional question — "Do you know your lot dimensions?" with width/depth input. Mark as optional + skippable.

Existing Garage Trigger Missing

Quiz doesn't ask "Does your property have a garage?" — misses highest-value garage conversion leads.

Fix: Add question in property type step: "Does your property have an existing garage?" → route to garage conversion flow

Fit Explanation (New Feature)

Results page should explain WHY each plan was recommended. Currently no explanation is shown.

Example Fit Explanations

High Fit

Your ~6,000 sqft lot supports up to 800 sqft. This 750 sqft design fits within your buildable area.

Medium Fit

Lot dimensions assumed from size category. Run a feasibility review to confirm.

Check Fit

Lot data is limited. A licensed engineer review will confirm if this plan fits your site.

🤖

Section 3 — AI vs. Engineer Product Separation

Clear delineation of automated vs. PE-reviewed products — required before scaling

ProductCurrent LabelProblemRecommended LabelPE InvolvementTurnaround
AI Report$79 AI Property ReportCustomers expect PE insight for $79AI Property Analysis (informational)AutomatedInstant
Feasibility $149Professional Feasibility Study'Professional' implies PE — may or may not be at $149Clarify: AI Pre-Screen OR Engineer ReviewUnclear3–5 days (if PE)
Verification $349AI + Engineer ReviewSounds like 2 products bundled; confusingEngineer-Verified Site AnalysisPE Required3–7 days
Permit-ReadyPermit-Ready EngineeringGood naming — keepPermit-Ready Package (minor tweak)PE Required10–14 days

AI Product Labeling Requirements

Every AI-only product must display these disclosures at point of purchase:

✓ "AI-Generated · No engineer review"

✓ "For planning orientation only — not professional engineering advice"

✓ "AI zoning analysis should be verified with your local planning department"

PE Product Labeling Requirements

Every PE-reviewed product must display these at point of purchase:

✓ "Reviewed by a Licensed Professional Engineer"

✓ "Written report includes PE name + state license #"

✓ "Subject to local jurisdiction review and approval"

✓ "Permit approval not guaranteed — PE prepares you for submission"

💰

Section 4 — Recommended Product Structure & Pricing

5-tier structure with margin analysis and scalability assessment

Tier 0

Free Starter Plan + Dashboard

$0

Keep as-is

Margin

N/A — lead acquisition cost

Automation

100%

PE Effort

Zero

Turnaround

Instant

Scalability

Unlimited

Tier 1

AI Property Analysis (was: AI Property Report)

$79

Rename + add AI disclaimer

Margin

~85% — minimal marginal cost

Automation

95%

PE Effort

~5 min spot-check

Turnaround

Instant to 2 hrs

Scalability

Very High (100+/day)

Tier 2

Engineer-Verified Feasibility Review (was: $149 Feasibility / $349 Verification)

$349–$499 (RECOMMENDED ↑ from $149)

RESTRUCTURE

Margin

~60–70% at $349 vs. ~15–30% at $149

Automation

40% AI draft + 60% PE review

PE Effort

45–60 min PE time

Turnaround

3–5 business days

Scalability

Medium (8–15/week per PE)

Action: consolidate $149 + $349 into one $349 PE product

Tier 3

Permit-Ready Package

$1,297–$1,697+

Keep

Margin

~40–55%

Automation

30% templated drawings

PE Effort

4–8 hrs PE + drafting

Turnaround

10–14 business days

Scalability

Limited (5–10/week per PE)

Action: improve checkout conversion (move disclaimer below CTA)

Tier 4

Engineering Add-ons (Construction Admin, Site Plan, Priority Delivery)

$300–$2,997+

Capacity-cap at launch to avoid PE burnout

Margin

Varies

Automation

Low

PE Effort

High

Turnaround

Varies

Scalability

Capacity-managed

Why $149 Feasibility Is Unsustainable at Scale

At $149 / 45 min PE time

PE cost: $80–120/hr → $60–90/review

Platform overhead: ~$20

Net margin: $15–45 (10–30%)

At 30 reviews/week → ~$450–1,350 profit. PE time cost: $1,800–2,700. Unsustainable.

At $349 / 45 min PE time

PE cost: $60–90/review

Platform overhead: ~$30

Net margin: $200–250 (57–71%)

At 30 reviews/week → $6,000–7,500 profit. Sustainable. Still 5–10× cheaper than local firm.

Market Comparison

Local engineering firm: $1,500–3,500 for a feasibility letter

Solo licensed PE consult: $150–300/hr

QuiPlans at $349: Still 4–10× cheaper. Value is clear.

Credit $150–250 toward Permit-Ready Package. Strong retention mechanism preserved.

👷

Section 5 — Engineer Review Workflow

Scope definition, automation opportunities, and PE time requirements

✓ INCLUDE in Engineer-Verified Review

Zoning classification lookup (R1, R2, ADU eligibility) for subject parcel
Setback analysis (front, side, rear) based on jurisdiction + lot type
Estimated buildable envelope (width × depth × lot coverage constraints)
ADU eligibility: detached, attached, JADU options for this lot
Lot coverage check: existing structure + proposed ADU vs. max coverage
Utility connection note: water, sewer, electrical (does separate service exist?)
2-story feasibility note (height limits + zoning allows?)
Top 2–3 plan recommendations with brief fit rationale
Written go/no-go recommendation (PE judgment, 1 paragraph)
Known risks: HOA flags, hillside, flood zone, unusual lot conditions
1 written follow-up Q&A within 14 days (included, no extra charge)
PDF report delivery: 5–8 pages, PE name + license # on cover

✗ DO NOT INCLUDE

PE-stamped drawings (that's the Permit-Ready Package)
As-built survey or ALTA survey (third-party, not our scope)
Soils report / geotechnical assessment
Permit filing or submission to building department
HOA approval or CC&R review
Construction cost estimate (directional reference only, not binding)
Legal advice on property ownership, title, or financing
Guaranteed permit approval language
Site visit (remote review only at this price point)

PE Time Estimate

autoIntake review5 min
manualZoning + setback verification10–15 min
semi-autoBuildable envelope calculation5 min
manualPlan recommendation selection5–10 min
manualWritten go/no-go narrative10–15 min
manualReport QA + PDF sign-off5–10 min

Total PE time: ~40–60 min/review

Max capacity: 8–12 reviews/week per PE at launch

Automation Opportunities in Review Workflow

HIGH AUTOMATION POTENTIAL

Zoning classification lookup (county parcel API / ArcGIS)

Setback defaults by state/city (JSON config table)

Buildable envelope formula calculation

Draft report template population

PDF assembly from completed fields

Email delivery via SendGrid

Admin order status notification

SEMI-AUTOMATED (PE VERIFIES)

AI zoning lookup → PE confirms accuracy

AI setback calculation → PE checks exceptions

Plan shortlist from recommendation engine → PE selects top 2–3

Risk flags (HOA, flood zone, hillside) → PE adds judgment

REQUIRES PE JUDGMENT

Confirming unusual lot conditions (flag lot, corner lot)

Writing go/no-go narrative (professional opinion)

Signing off: PE name + license # on report

Responding to follow-up Q&A questions

✍️

Section 6 — Messaging Fixes

Misleading phrases, overpromising language, and safer positioning

"Home + ADU Option" plan label

Current (Misleading)

"Home + ADU Option"

Recommended

"Flexible Residential Plan — Can function as ADU or primary residence depending on local zoning"

"AI + Engineer Review" product CTA

Current (Misleading)

"Get AI + Engineer Review — $349"

Recommended

"Engineer-Verified Site Analysis — $349 · AI pre-processing + licensed PE written review"

Feasibility product headline (if $149 = AI-only)

Current (Misleading)

"Professional Feasibility Study — $149"

Recommended

"AI Site Pre-Screening — $149 · Automated analysis, not a licensed PE review"

Permit-ready acceptance claim

Current (Misleading)

"Accepted by building departments in 26 states"

Recommended

"Prepared by licensed PEs for permit submission in 26 states · Subject to local jurisdiction review"

Permit-ready package name

Current (Misleading)

""Permit-Ready Engineering" (implies guaranteed permit)"

Recommended

""Permit-Ready Package" — PE-stamped drawings prepared for permit submission · Revision support included"

Go/no-go claim on AI products

Current (Misleading)

"Written go/no-go report (on AI-only $79 product)"

Recommended

"AI-generated buildability assessment · Not a licensed engineering opinion"

Safe Permit-Confidence Language Library

Instead of...

"We'll get you permit-ready"

"Designed to pass permit review"

"Get approved faster"

"Permit guaranteed"

"Accepted everywhere in 26 states"

Use this instead...

"We prepare your plans to meet permit submission requirements"

"Engineered for permit submission by licensed PEs — revision support included"

"Reduce back-and-forth with your building department"

"Engineer-backed process — revision support if your jurisdiction requests changes"

"Accepted by most building departments in 26 states"

📧

Section 7 — Email Flow Duplicate Collection

Where duplicate email requests occur, persistence fixes, and user-state improvements

P1

Quiz → Checkout

User enters email at quiz end (AduAnalyzerLead created) → asked for email AGAIN on $79 CTA checkout form

Root cause: sessionStorage quiz email NOT passed to checkout form

Fix: Route checkout to /InstantDownloadCheckout?email=X or pre-fill from sessionStorage('quiplans_quiz_email')

P1

Free Plan → Dashboard

User enters email on /AduFreePlan (AduLead created) → asked to log in again at /owner-builder-dashboard

Root cause: AduLead created but User entity not created → dashboard requires auth

Fix: Send magic link email after free plan submit. AduLead.magic_link_token already exists — use it.

P0

Meta Ad → Quiz

User enters email on /free-adu-plan-ad → routed to /adu-finder-quiz → quiz asks for email again

Root cause: Post-submit success state doesn't pass email to quiz URL

Fix: Route to /adu-finder-quiz?email=X — quiz should detect ?email param and skip email step

Email Persistence Pattern (Recommended)

On every email form submit:

Write email to localStorage('quiplans_lead_email')

Write email to sessionStorage('quiplans_quiz_email') if on quiz

Write name + ZIP if collected

On any form page load:

Check localStorage for existing email → pre-fill

Check URL ?email param → pre-fill and skip email step if quiz

Show subtle 'Pre-filled from your last visit — not you?' link

Magic link flow (already partially built):

After free plan submit → send magic_link_token to email

Email link → /owner-builder-dashboard?token=X

exchangeMagicToken function already exists — wire it to dashboard entry

User arrives at dashboard without needing to create a separate password

Note: magic_link_token and magic_link_expires fields already exist in AduLead entity. The exchangeMagicToken backend function already exists. This is a wiring task, not a new build.

⚠️

Section 8 — Operational Risk Analysis

Launch risks ranked by impact and mitigation strategies

HIGH RISK

PE Capacity Bottleneck

At $149/review with 45 min PE time, margin is 10–30%. At scale (30+ reviews/week) this is unsustainable. PE burnout within 60 days.

Mitigation: Raise price to $349. Cap orders/week at launch. Add waitlist if over-capacity. Build PE dashboard queue management.

HIGH RISK

AI Zoning Misclassification

AI can return incorrect zoning (R1 vs R2, flood zone misidentification). If customer relies on AI-only report and makes wrong decision → complaint + trust damage + potential refund request.

Mitigation: Label AI products explicitly: 'informational only, not engineering advice.' Add: 'Verify with local planning dept before financial decisions.' Never call AI output a 'feasibility study.'

MEDIUM RISK

Permit Overpromise Legal Exposure

If marketing says 'permit-ready' without jurisdiction caveats and a customer gets rejected, potential refund dispute or trust damage at scale.

Mitigation: Add 'Subject to local jurisdiction review' to all permit-related claims. Terms of service covers this. Add visible disclaimer near all permit-related CTAs.

MEDIUM RISK

Lead-to-Auth Gap

Most AduLeads never create User accounts. Dashboard requires auth. Primary retention tool (dashboard) is unreachable for most leads.

Mitigation: Wire magic_link_token flow: 24h after free plan download, send 'Access your planning dashboard' magic link email. exchangeMagicToken function already exists.

MEDIUM RISK

Pricing Inconsistency Under Ad Spend

Homepage shows $149 feasibility. If pricing changes to $349, email sequences, old ad creatives, and cached pages will show wrong prices. Customer arrives expecting $149, sees $349.

Mitigation: Centralize pricing in a config file (pricingEngine.js). Update all references in one change. Update email sequences before pricing change goes live.

MEDIUM RISK

Quiz-AduLead Data Silo

AduAnalyzerLead (quiz-created) and AduLead (free plan-created) are separate entities. Same customer = duplicate records, duplicate nurture emails, fragmented CRM.

Mitigation: On any email submission: check both entities for existing email. If found, link via user_id. processAduLeadNurture should check both entities before sending.

🚀

Section 9 — Launch-Critical Fixes Before Meta Ads

Ordered priority list — P0 must all be resolved before any ad spend

P0 — Must Fix Before ANY Ad Spend

1.

Fix saveAduLead / sendAduFreePlan 500 error

ALL paid traffic to /free-adu-plan-ad generates $0 leads. Single highest-impact fix.

2.

Remove duplicate Meta Pixel

Two fbq('init') calls in layout file. Remove second ID (1434179508063194). Keep 874148582192832.

3.

Add fbq('track', 'Purchase') on /PurchaseSuccess

Meta cannot optimize for buyers without this. No purchase Lookalike Audiences possible.

4.

Move permit-ready checkout disclaimer below CTA

Amber warning block above $1,297+ CTA directly kills cold traffic conversion.

5.

Fix post-ad success routing

Meta ad landing success → /adu-finder-quiz?email=X (not /AduFreePlan). Pre-fill email.

P1 — Fix in First Week of Launch

6.

Add email persistence (localStorage pattern)

Eliminates duplicate email collection across quiz → checkout → dashboard flows.

7.

Clarify AI vs. PE labels on all product cards

Add 'AI-Generated · No engineer review' to $79 product. Required before scaling paid traffic.

8.

Rename 'Home + ADU Option' plans

Update type_category display label to 'Flexible Residential Plan' on all affected plan cards.

9.

Wire magic_link_token to dashboard entry

exchangeMagicToken function exists. Send magic link 24h after free plan download.

10.

Add plan footprint fields to Plan entity

footprint_width_ft + min_lot_width_ft required for improved recommendation engine.

P2 — Scaling Phase (30–90 Days)

Implement improved recommendation engine with buildable envelope algorithm

Consolidate $149 + $349 into unified $349 Engineer-Verified Feasibility Review

Add fit explanation text to quiz results (why each plan was recommended)

Merge AduLead + AduAnalyzerLead deduplication on email match

Add price anchoring to PermitReadyCheckout ('vs $8K–25K from a local architect')

Build garage conversion quiz trigger (existing garage → separate flow)

QuiPlans Product Logic & Recommendation Engine Refinement Report · Generated 2026-05-25 · Admin Internal Use Only

base44
Edit with Base44