Vasari · LobbyOS · Internal

Pre-Leasing Readiness Deep Dive

Full audit of vasari-concierge + ops.vasari.club ahead of the August go-live: website signup, concierge, application, verification, payment, and year-round broadcasting — plus a draft GTM support plan.
June 9, 2026 · 53 days to leasing office open (Aug 1) · 74 days to brand launch (Aug 22)
≈80%
Funnel code built
0
Payment/KYC env vars set
44
Units · avg $2,556/mo
5
Live landing pages
0
E2E funnel tests run
The headline finding Nearly the entire pre-leasing funnel exists in code — application forms, Stripe Identity KYC, Plaid income verification, Checkr criminal screening, Stripe deposit checkout, lease PDF e-signing — but the Stripe, Checkr, and Plaid credentials are not configured, so every one of those flows currently runs in mock mode. The single most important workstream before August is activating these integrations and running the funnel end-to-end with real money and a real ID.
A date conflict to resolve first Your framing is "go live in August for pre-leasing" with application, verification, and payment. The ops dashboard says something different: Aug 1, 2026 = leasing office opens + waitlist, and the "Pre-Leasing Launch" milestone is Feb 1, 2027 (ads, applications, signing). The marketing site plan splits the difference — Phase 1 (Aug 2026) includes an /apply page. The concierge knowledge base says "formal lease signing begins Summer 2026." Decision needed: is August (a) waitlist + tours + LOIs with applications opening Feb 2027, or (b) full apply→verify→pay→sign live in August? The answer changes the P0 list below. This report assumes (b) — full funnel by August — since that's what you described.

1 · The Funnel As Built

LIVE shipped & working PARTIAL built, unwired or untested GAP missing
Discover
vasari.club coming-soon + 5 audience landing pages, SMS concierge +1 (319) 259-2295
Sign up
Lead capture API, honeypot, rate limiting, Poke + email alerts, AI lead extraction over SMS
Nurture
Lead scoring, pipeline stages, drip welcome sequences, progressive profiling
Tour / Reserve
Tour booking via AI tool + reminders; reservation pipeline partial, hold expiry not automated
Apply
Full application form + multi-tenant + admin review UI — needs E2E test, no applicant dashboard
Verify
Stripe Identity + Plaid income + Checkr criminal — all in mock mode (no credentials)
Pay
Stripe Checkout for deposit + first month — keys not set; no app fee, no refund flow
Sign
Internal lease PDF + canvas signatures + co-tenant signing + emails; DocuSign reusable
Broadcast
Announcements live, campaigns + outreach rules live, TCPA opt-out solid — won't scale past ~200 recipients

What's genuinely strong

LIVE Lead capture & concierge

  • 5 landing pages (/athletes /parents /students /residences /programs) → /api/public/athlete-leads, plus apex waitlist → landing-leads
  • Inbound SMS/iMessage pipeline: dedup, rate limits, TCPA STOP/START, AI lead extraction, hot-lead Poke alerts
  • Launch-phase skill gating shipped (prelaunch / preleasing / operating) with per-phone overrides and a live admin Launch tab
  • Magic-link auth + prospect app (/app/home, onboarding, floor plan)

LIVE Data model & ops backbone

  • 212-table schema covers the whole lifecycle: leads → applications → verifications → leases → payments → residents
  • Lead pipeline stages with audit history (new_lead → toured → applied → approved → reserved → lost)
  • Delivery tracking on every message; Sentry, audit logs, /insights analytics
  • ops.vasari.club holds canonical facts (44 units, pricing, capital stack), 180-item roadmap, leasing-office runbook, marketing site plan (18 pages / 3 phases)

LIVE Broadcast foundations

  • Announcements (audience by floor/unit, priority, per-recipient delivery + read tracking)
  • Campaigns (segments by userType/stage/tags, template variables, iMessage→SMS fallback)
  • Outreach rules engine on a 5-min scheduler, send windows 8am–9pm, max 2/user/day
  • Consent records, opt-out categories (all vs marketing), 10DLC registered

2 · Gap Analysis

P0 — Blocks an August full-funnel launch

GapDetailEffort
Payments/KYC/screening credentials unsetSTRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_IDENTITY_WEBHOOK_SECRET, CHECKR_TRUST_*, PLAID_* — none on Railway, none in .env.example. Everything downstream of "Apply" is mock.Days (incl. vendor account setup + webhook config)
No end-to-end funnel verificationNobody has gone landing page → application → ID verify → screening → deposit payment → lease signature in one pass against real services. Reservation pipeline stage transitions are partially built; deposit hold expiry isn't automated.~1 wk incl. fixes
Deposit refund workflow missingStripe captures money but there's no refund path when an application is denied. Legal/financial exposure from day one of taking deposits.2–3 days
Broadcast won't scaleAnnouncement/campaign sends are synchronous loops — fine for ~100–200, blocks the server beyond that. scheduledFor exists in schema but no scheduler. No bounce/invalid-number handling.~1 wk (job queue + scheduler + bounce webhook)
Email-only leads are strandedApex waitlist accepts email-only signups but the concierge is SMS-only and there are no email campaigns. These leads sit in the DB unreachable (and phoneNumber stores "" because the column is NOT NULL). Klaviyo isn't planned until Oct.2–4 days (Resend broadcast or early Klaviyo)
Launch phase is set to "operating"Production default is full capability — the concierge will quote anything to anyone. Should be flipped to preleasing (or prelaunch until apps open), with phase overrides for staff testers.Minutes + test pass

P1 — Should land before or shortly after launch

GapDetailEffort
Applicant status portalApplicants only get direct URLs; no way to check status, re-upload docs, or respond to requests. Drives "where's my application?" texts to the concierge.~1 wk
Credit screeningCheckr Trust is criminal-only. No credit bureau pull, no eviction history, no income-to-rent auto-validation (fields captured, no rules engine).Vendor-dependent
Application feeNo app-fee payment type — only deposit + first month. Decide: charge one, or differentiate by waiving it?1–2 days if needed
Co-signer/guarantor verificationFields exist, no verification flow. Matters for the student/athlete demographic where parents guarantee.~1 wk
Tour ↔ application linkage + self-serve tour managementNo tourId on applications; prospects can't reschedule/cancel except by texting.2–3 days
Source attributionLanding-page source tracked, but no UTM/paid-vs-organic capture — you'll be blind on channel ROI when ads start.1–2 days
Campaign admin polishSegmentation is JSON-only, audience preview shows 10 samples, no approval gate or dry-run before a blast goes out.3–5 days

P2 — Post-launch / pre-move-in (July 2027)

Recurring rent collection (Stripe is one-time only today) · lease renewals · move-in checklist · ACH rails · PMS integration decision (none exists — Yardi/AppFolio/etc.) · A/B testing on campaigns · multi-property generalization (landlord "SG Property Management" + Iowa are hardcoded).

3 · Documentation & Ops-Site Assessment

Repo docs — strong

  • README / ARCHITECTURE / DEPLOYMENT / CLAUDE.md current
  • 15 module contracts incl. property-leasing and pipeline-marketing
  • Runbook, SLOs, backup/recovery, PII inventory, 10DLC + Loop docs
  • 1000-person simulation engine already exercised Aug 2026–Dec 2027 scenarios

Ops site — strong on facts, thin on GTM

  • Canonical Project Facts (units, pricing, capital, dates) — editable, MCP-queryable
  • Leasing office runbook exists but its readiness checklist is entirely "Not Started" at 53 days out
  • /marketing/strategy/ is a placeholder — channels, budget, calendar all TBD
  • Photography/renders blocked (Olson Kundig not providing; commissioned renders needed)

Docs gaps to write

  • No pre-leasing launch runbook (cutover checklist, phase flip, on-call)
  • No screening criteria policy (income multiple, criminal lookback, fair-housing-safe adverse action letters)
  • No deposit/refund terms doc
  • Stripe/Checkr/Plaid env vars absent from .env.example

4 · Draft GTM Support Game Plan

Organized as six workstreams, then a week-by-week runway to Aug 1 (office) and Aug 22 (brand launch). Built for scenario (b) — full funnel in August. If we align to the ops-site plan (apps in Feb 2027), workstreams A and B shift right and August becomes waitlist + tours + LOIs only.

A · Activate the money path

  • Stripe live keys + webhooks (checkout, identity)
  • Checkr Trust account + webhook secret
  • Plaid production (or launch with manual doc upload)
  • Refund workflow + deposit terms
  • Application fee decision

B · Prove the funnel

  • Scripted E2E: lead → tour → apply → verify → pay → sign, real card + real ID, on prod with test unit
  • Fix reservation pipeline hold expiry
  • Screening criteria policy written + encoded
  • Load-check: 50 simultaneous applicants

C · Broadcast at scale

  • Job queue for campaign sends (Bull/BullMQ)
  • Wire scheduledFor scheduler
  • Bounce/invalid handling via Twilio webhooks
  • Email channel for email-only leads (Resend broadcast now, Klaviyo later)
  • Monthly construction-update cadence template

D · Concierge launch posture

  • Flip launch_phase → preleasing (staff overrides for testing)
  • Knowledge base refresh from ops Project Facts (pricing, dates, amenities vocabulary: Train/Recovery/Heated Studio)
  • Red-team: pricing questions, fair-housing traps, escalation paths
  • Staff training per STAFF_TRAINING.md

E · Demand & brand (with Rachael/Nate)

  • Marketing site Phase 1 — 7 pages by Aug (render blocker is critical path)
  • Aug 22 event + waitlist open + 100 merch bags
  • UTM/source attribution before any paid spend
  • Personas → audience-specific drip sequences
  • Athlete-department outreach (Nate, June)

F · Leasing office & ops

  • Park201 buildout June, FF&E July (checklist currently all Not Started)
  • Leasing agent hired + trained on LobbyOS
  • Digital: availability/pricing display, floor plan viewer, walk-in lead capture
  • Weekly pipeline review ritual + conversion dashboard

Runway to launch

Jun 9–20
Jun 23–Jul 4
Jul 7–18
Jul 21–31
Aug 4–22

5 · Open Decisions for Roby

  1. August scope: full apply/verify/pay funnel, or waitlist + tours with applications in Feb 2027? (Drives everything above.)
  2. Application fee: charge one or waive as a differentiator?
  3. Credit screening: add a credit-bureau product, or launch with criminal + income + ID only?
  4. Lease signing rail: internal PDF signing (built) vs DocuSign (built for investors, reusable) — internal is fine if E2E holds up.
  5. Email platform timing: pull Klaviyo forward from Oct, or bridge with Resend broadcasts?
  6. Renders: commission now — it's the critical path for the Phase 1 site.