Phase 55 AI Surfaces

Design reference for Wave 2 cards. Not an approval gate — build proceeds without waiting for approval.

Surface 1

action-proposal

Concierge announces what it will do before acting. User confirms, edits, or cancels — no silent writes.

Plan my weekend — something outdoors Saturday + dinner after

Found a great Saturday for you. Here's what I'll do:

Proposed Plan

RSVP to Prospect Park Picnic

Saturday 1:00 PM · 340 attending

+calendar

Save Lilia for dinner

567 Union Ave · Italian, 4.9 stars · 7:30 PM slot

+saved

Variant: Book agent intro action-proposal

I'll send an intro request on your behalf:

Proposed Action
SM

Sarah Mitchell

Compass · Williamsburg specialist · 4.9 stars

"Hi Sarah, I'm interested in discussing options in Williamsburg. Would love to connect."

Surface 2

action-result

Shown after user confirms. Summarizes what was done, links to the artifact so the user can navigate to it.

Confirm
Done

RSVPed to Prospect Park Picnic

Added to your calendar — Saturday 1 PM

Saved Lilia to your places

Variant: Post drafted + published to feed

Post Published

"The light on the Williamsburg Bridge this morning was incredible — that golden hour glow..."

Surface 3

image-input affordance

Camera icon added to AIChatInput left side. Two states: default (empty) and selected (thumbnail + dismiss).

State A: Default (no image selected)

AIChatDrawer — bottom input bar
Ask Nabe AI anything...

State B: Image selected (thumbnail preview + dismiss)

AIChatDrawer — image attached
Selected building

building_photo.jpg

1.2 MB · Tap to analyze

What can you tell me about this building?

The camera icon uses Camera from lucide-react. In TSX: size=16 for the action bar. The dismiss button is X lucide icon at size=10.

Surface 4

image-analysis result card

Two content variants share the same wrapper. Vision AI analyzes the uploaded photo and renders into the existing card types.

Variant A: Building intel (snap a building)

Building

215 North 11th Street

Williamsburg, Brooklyn · 48 units

Only on Nabe

Building Score

4.2 / 5

Tenants Say

"Super responsive, clean hallways, elevator issues in 2023 but fixed"

Noise Level

Moderate — street noise above floor 3

Variant B: Apartment listing draft (photograph your apartment)

Here's a listing draft based on your photo:

Apartment
AI Draft

Bright 1BR in Prime Williamsburg

Est. $3,200/mo · 1 bed · 1 bath · ~650 sqft

"Sun-drenched one-bedroom with exposed brick, hardwood floors throughout, and a modern galley kitchen. South-facing windows flood the space with afternoon light. Located steps from the L train and the best of the Northside dining scene."

Exposed brick Hardwood floors South-facing High ceilings
Surface 5

Inline "Ask AI about this" trigger

A small Sparkles icon + indigo-600 text link placed on the action bar of listing cards and feed items. Tapping opens the AI drawer with that item preloaded as context.

On a listing card action bar

Listing

$3,800/mo · 2BR · 1BA · Kent Ave

Williamsburg · Listed 2h ago · Floor 4

Doorman Roof deck Laundry in unit

On a community feed post

JK

Jamie Kim

3h ago · Williamsburg

Anyone know what's going up on the corner of N 6th and Wythe? Looks like a big development — cranes all week.

Design note: The trigger is always right-aligned in the action bar, never in the main card body. Label shortens on listing cards ("Ask AI") vs feed items ("Ask AI about this") to fit the bar width. Icon is Lucide Sparkles at size=14. Color is text-indigo-600 — consistent with the existing NabeDataSection Sparkles header color.

Surface 6

AI-narrative morning briefing

An AI-generated, personalized intro paragraph sits at the top of the MorningBriefingDrawer — before the structured sections. Rendered as italic indigo-600 text with a Sparkles label. Shows reasoning ("Because you RSVP'd to…").

Morning Briefing

Since 6am · Williamsburg

Nabe AI

"Good morning! Rain is forecast for Saturday afternoon, but Saturday morning through 1 PM looks clear — perfect for the Prospect Park Picnic you RSVP'd to. Sunday is dry all day. The Wythe Hotel rooftop brunch you saved has two slots left for Sunday at 11 AM. And a heads up: Taqueria Diana added happy hour specials this week — 5-7 PM daily."

Today's briefing

Rain Saturday 2–6 PM · 68°F high

3 events tonight · 2 new neighbors

... existing briefing rows continue below ...

Placement: Immediately after the gradient drawer header, before the "Today's briefing" divider and existing structured sections. The AI narrative sits in the warm card layer (from-violet-50 to-pink-50), which is the content card layer — not a frame surface.

Text style: text-sm italic text-indigo-700. The italic style signals "generated text" vs structured data. Label is text-xs font-semibold text-indigo-700 uppercase tracking-wide with a Sparkles icon at size=14.

Fallback: When no AI key is set or the scripted scenario doesn't match, this block collapses entirely. The briefing renders exactly as before — no blank placeholder.