QuiPlans Internal · Phase 2 Refinement
Generated 2026-05-25 · Pre-Meta-Launch · 9 Sections · Admin Only
Buildable envelope algorithm, plan filtering logic, and anti-bias ranking
Current State: Feature-Biased
Plans 30/31/32 always surface first regardless of lot fit
No buildable envelope calculation from lot dimensions
2-story feasibility never evaluated — many qualified lots ignored
No plan footprint width filtering — oversized plans shown on narrow lots
Recommendation rationale never shown to user — opaque matching
Garage conversion logic routes to same plans as ADU — wrong product match
Step 1 — Buildable Envelope Inputs
Step 3 — Ranking Score Adjustments
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
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
Your ~6,000 sqft lot supports up to 800 sqft. This 750 sqft design fits within your buildable area.
Lot dimensions assumed from size category. Run a feasibility review to confirm.
Lot data is limited. A licensed engineer review will confirm if this plan fits your site.
Clear delineation of automated vs. PE-reviewed products — required before scaling
| Product | Current Label | Problem | Recommended Label | PE Involvement | Turnaround |
|---|---|---|---|---|---|
| AI Report | $79 AI Property Report | Customers expect PE insight for $79 | AI Property Analysis (informational) | Automated | Instant |
| Feasibility $149 | Professional Feasibility Study | 'Professional' implies PE — may or may not be at $149 | Clarify: AI Pre-Screen OR Engineer Review | Unclear | 3–5 days (if PE) |
| Verification $349 | AI + Engineer Review | Sounds like 2 products bundled; confusing | Engineer-Verified Site Analysis | PE Required | 3–7 days |
| Permit-Ready | Permit-Ready Engineering | Good naming — keep | Permit-Ready Package (minor tweak) | PE Required | 10–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"
5-tier structure with margin analysis and scalability assessment
Free Starter Plan + Dashboard
$0
Margin
N/A — lead acquisition cost
Automation
100%
PE Effort
Zero
Turnaround
Instant
Scalability
Unlimited
AI Property Analysis (was: AI Property Report)
$79
Margin
~85% — minimal marginal cost
Automation
95%
PE Effort
~5 min spot-check
Turnaround
Instant to 2 hrs
Scalability
Very High (100+/day)
Engineer-Verified Feasibility Review (was: $149 Feasibility / $349 Verification)
$349–$499 (RECOMMENDED ↑ from $149)
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
Permit-Ready Package
$1,297–$1,697+
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)
Engineering Add-ons (Construction Admin, Site Plan, Priority Delivery)
$300–$2,997+
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.
Scope definition, automation opportunities, and PE time requirements
✓ INCLUDE in Engineer-Verified Review
✗ DO NOT INCLUDE
PE Time Estimate
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
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"
Where duplicate email requests occur, persistence fixes, and user-state improvements
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')
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.
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.
Launch risks ranked by impact and mitigation strategies
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.
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.'
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.
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.
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.
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.
Ordered priority list — P0 must all be resolved before any ad spend
P0 — Must Fix Before ANY Ad Spend
Fix saveAduLead / sendAduFreePlan 500 error
ALL paid traffic to /free-adu-plan-ad generates $0 leads. Single highest-impact fix.
Remove duplicate Meta Pixel
Two fbq('init') calls in layout file. Remove second ID (1434179508063194). Keep 874148582192832.
Add fbq('track', 'Purchase') on /PurchaseSuccess
Meta cannot optimize for buyers without this. No purchase Lookalike Audiences possible.
Move permit-ready checkout disclaimer below CTA
Amber warning block above $1,297+ CTA directly kills cold traffic conversion.
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
Add email persistence (localStorage pattern)
Eliminates duplicate email collection across quiz → checkout → dashboard flows.
Clarify AI vs. PE labels on all product cards
Add 'AI-Generated · No engineer review' to $79 product. Required before scaling paid traffic.
Rename 'Home + ADU Option' plans
Update type_category display label to 'Flexible Residential Plan' on all affected plan cards.
Wire magic_link_token to dashboard entry
exchangeMagicToken function exists. Send magic link 24h after free plan download.
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