- Status: Accepted
- Date: 2026-05-08 (ratified in CONV-28 after Nadezhda call)
- Owners: Roman
- Source: Nadezhda transcript at
os/docs/research/client-feedback-nadezhda-2026-05-08.md - Implemented by:
plans/sales-app-react-module-sequence.md
Decision
The offplan.online sales-presentation redesign is not a re-skin of the existing dot-on-façade IA. After client feedback from Nadezhda (Abu Dhabi, 2026-05-08), the IA itself changes:
- Project-first exterior — 360° spherical hero with hotspots for building parts (lobby, communal areas) AND surrounding POIs (beach, mall, transit), per-project. Replaces the current 3D building + unit-dots hub.
- Floorplate-first selection — filter by type / aspect / price / beds, see all matching floor-plan layouts, then drill to floors → unit. Replaces unit-pin clicks. Scales to projects with 22 units/floor × N floors × 15 buildings (where dot-on-façade IA breaks down into a Christmas tree).
- Buyer profile (top-right button) — captures name / email / phone on first explicit save action, drives filtering for the session, integrates with CRM. This is the missing CTA layer the audit flagged. First save is anonymous + toast; modal triggers only on chip click or end-of-journey "Email me this offer" action (see plan §Phase 3-4 amendments A-BUYUX-1).
Two distinct buyer phases (Nadezhda's frame):
- Promo / presentation — free exploration to make the buyer want the project.
- Sales / transaction — filter to specific layout → save offer → CRM.
Current Volume Vision product handles phase 1 partially; phase 2 is largely missing.
Why
Real buyers think "2BR" or "AED 2-3M budget" first — not "click that dot on the façade." Dots on a façade don't scale past tiny boutique projects (Tapestry / Pipis / Cote work because they have <20 units; Nadezhda's project is 22 units/floor × N floors × 15 buildings — façade dots become a Christmas tree at that density).
The audit's "what works" list is preserved (render quality, persistent unit context, hub-and-spoke modals, three-colour status). The entry IA changes.
How to apply
- Buyer profile and per-session price snapshots are first-class concerns from screen one, not bolted-on.
- Filter rail in floorplate-selection includes
buildingchip when project has >1 building (Riviera fixture is single-building, but theBuildingtype is shipped in Phase 1 type-ready for scale). - Plan §Phase 5 ProjectTour ships with
tourNodes[]graph for the multi-node interior walkthrough; if real-pano coverage <3/5 nodes the module gates behind a "Coming soon" full-module placeholder rather than rendering a Christmas tree of placeholders.
Out of scope for v1 (deferred)
CRM integration — broker auth, existing-client lookup, price-snapshot persistence — is front-end UX only in this plan with a stubbed POST endpoint + written CRM-CONTRACT.md describing what the eventual real backend implements (plan §Phase 5 task 7, with full ADGM/PDPL clauses per A-SEC-2). Real backend is a follow-on workstream.
Originally captured in user-level auto-memory at ~/.claude/projects/-Users-romantarasov-code-offplan-online/memory/project_new_direction.md. Migrated to this ADR in CONV-30 so it's visible to anyone with repo access, not just Roman's local Claude Code memory.