1 Quick Action Buttons — Save / Share / Schedule / Compare
The row of 4 tall column buttons that appears below the price/address bar.
CURRENT
$1,295,000
📍 287 N 7th St · Williamsburg
2 bed2 bath1,050 sqft
rounded-xl bg-gray-50 doesn't match button standard
Tall columns feel dated — "iOS 6 era"
Save duplicated in both this row AND the bottom bar
icon size=18 — DESIGN_STANDARDS says action bars use size=16
OPTION A — Compact pill buttons
$1,295,000
📍 287 N 7th St · Williamsburg
2 bed2 bath1,050 sqft
Matches DESIGN_STANDARDS button pattern (rounded-md, border, px-2.5)
Consistent with Block Report / Viewing Notes pill buttons below
icon + text inline — more modern, less vertical waste
Still has Save duplication issue — see Option C
OPTION B — Icon-only row
$1,295,000
📍 287 N 7th St · Williamsburg
2 bed2 bath1,050 sqft
Save
Share
Schedule
Compare
Compact — minimal vertical space used
Familiar iOS share-sheet visual language
Still duplicates Save from bottom bar
Circles don't match app's rounded-md button language
OPTION C — Integrated into bottom bar
$1,295,000
📍 287 N 7th St · Williamsburg
2 bed2 bath1,050 sqft
← No separate quick-actions row — removed ↓
[Proactive nudges / Agent Take ...]
Schedule a viewing
Compare with others
Eliminates Save duplication entirely
Reclaims vertical space for content (no extra row)
Schedule + Compare visible on demand via ... overflow menu
Bottom bar already has Save + Share wired — minimal code change
Schedule/Compare are less discoverable — but they're lower-frequency actions

2 Score Breakdown Bars
Appears when user taps "See breakdown" under the NabeScore badge. Currently uses Recharts horizontal bar chart.
CURRENT — Recharts bar chart
87
Hide breakdown
Neighborhood
89
Building
82
Walkability
94
Transit
88
Noise Level
71
Value
76
Agent
91
Green/yellow/red bar colors clash with app's indigo-purple-pink identity
220px fixed height — rigid, too tall for 7 short rows
Recharts library dependency for a simple visual — heavy
Dashboard-style chart feels out of place in social app feed
OPTION A — Simple gradient progress bars
87
Hide breakdown
Neighborhood89
Building82
Walkability94
Transit88
Noise Level71
Value76
Agent91
Pure CSS — no Recharts, no library weight
Gradient fills match app's indigo-purple identity
h-1.5 bars are clean and compact — matches slim Tailwind aesthetic
Natural height — grows with content, not fixed 220px
OPTION B — Segmented score pill badges
87
Hide breakdown
Neighborhood 89
Building 82
Walkability 94
Transit 88
Noise Level 71
Value 76
Agent 91
Most compact — minimal height
Pill badge style matches NabeScore badge elsewhere
No visual sense of relative magnitude — 71 vs 94 both look like badges
Good for a summary row, but loses the comparative value of a breakdown

3 Price History (inside Investment Analysis — sale listings only)
The price history table in InvestmentView.tsx. Currently a full-width justify-between layout with lots of empty horizontal space.
CURRENT — justify-between table
Cap Rate
4.2%
Est. Rental
$4,200/mo
Price History
2021 $980,000
2022 $1,050,000
2024 $1,180,000
2025 $1,295,000
8% below market — Similar units on Berry St asking $1.41M. This unit priced conservatively by motivated seller.
justify-between creates large dead space between year and price
No trend signal — user has to mentally do the math
Deal context box is gray — blends in, misses the highlight moment
OPTION A — Compact table + trend arrow
Cap Rate
4.2%
Est. Rental
$4,200/mo
Price History
2021$980K
2022$1.05M
2024$1.18M
2025 $1.295M ↑ +32%
8% below market — motivated seller, priced conservatively vs Berry St comps
Compact year/price layout — no dead space
Sparkline gives instant trend signal without chart overhead
Deal context highlighted in blue — feels like information, not decoration
Pure SVG sparkline — no library needed
OPTION B — Inline trend summary
Cap Rate
4.2%
Est. Rental
$4,200/mo
Price History
$980K (2021) $1.05M (2022) $1.18M (2024) $1.295M (2025)
↑ +32% over 4 years
8% below market — motivated seller, priced conservatively vs Berry St comps
Most compact — no table rows needed
Trend immediately visible as headline number (+32%)
Hard to scan individual years — all on one line
Works well for 3-4 data points, less so for 6+

4 "Only on Nabe" Building Insights — Content Audit
The "Only on Nabe" branded section in ListingDetail. Some items listed are actually publicly available info — they shouldn't be in an exclusive-claim section.
CURRENT — 6 items, mixed public/exclusive
Only on Nabe
Building Insights
Built in 2015 PUBLIC RECORD
8 residents on Nabe EXCLUSIVE
Management rated 78/100 EXCLUSIVE
Noise level: Quiet EXCLUSIVE
Fiber internet available PUBLIC INFO
Package room available PUBLIC INFO
3 of 6 items are publicly available — weakens "Only on Nabe" claim
"Built in 2015" = NYC ACRIS public record, not exclusive
"Package room" + "Fiber internet" = listed on every StreetEasy page
PROPOSED — True exclusives only
Only on Nabe
Building Insights
8 residents on Nabe Live community data
Management rated 78/100 From tenant reviews
Noise level: Quiet Resident reports
Moved to Key Details: Year Built (2015), Fiber internet, Package room. These are public/listing-sourced facts that belong in the factual section — not the exclusive intel section.
"Only on Nabe" label now honest — all 3 items are genuinely platform-exclusive
Subtitle callout ("From tenant reviews") explains why it's exclusive
Public info isn't deleted — just moved to Key Details where it belongs
KeyDetailsGrid currently has 8 fields (2-col grid) — may need 3-col or separate "Building" group

5 Sticky Bottom Action Bar (CTA)
Phase 32-02 changed the CTA button from py-3 rounded-xl (Phase 28 original) to py-2 px-3 rounded-md to match DESIGN_STANDARDS. Showing before, after, and a middle-ground option.
BEFORE — Phase 28 original
(py-3 rounded-xl)
[ listing content ... ]
Message Sofia about this listing
py-3 violates DESIGN_STANDARDS ("NEVER use py-3 inside drawers")
rounded-xl on an inner button violates border radius standard
It looked nice though — taller button has more visual weight
CURRENT — After 32-02 fix
(py-2 px-3 rounded-md)
[ listing content ... ]
Message Sofia about this listing
Matches DESIGN_STANDARDS exactly
Consistent with all other CTAs in the app
Feels slightly small for a primary action on a high-stakes screen (buying/renting a home)
MIDDLE GROUND — py-2.5 rounded-lg
(splits the difference)
[ listing content ... ]
Message Sofia about this listing
py-2.5 + rounded-lg — slightly taller and more rounded than current
Technically violates DESIGN_STANDARDS but would require updating the standard
If listing detail is the only screen with this CTA weight, could be a justified exception for high-stakes primary actions
Note on the standards question: The DESIGN_STANDARDS rule exists to prevent oversized buttons throughout the app. But a listing detail is arguably the highest-stakes action screen (someone is potentially renting/buying a home). There's a reasonable case that the primary CTA here could warrant a slightly more prominent treatment — as a deliberate exception, not a mistake. If you want to keep py-3 + rounded-xl on this specific screen, the standards file should be updated to say so explicitly rather than leaving the "violation" undocumented.
Summary — Recommended Choices
S1
Quick Actions → Option C (integrate into bottom bar, remove duplicate row). Cleanest solution. Removes redundancy, reclaims vertical space, puts Save/Share where users already look.
S2
Score Breakdown → Option A (gradient progress bars). Drop Recharts entirely. Pure CSS, on-brand gradient, significantly lighter. Keeps the visual sense of magnitude that Option B loses.
S3
Price History → Option A (compact table + sparkline SVG). Best balance of scannability and trend signal. No library needed for the sparkline — just a <polyline>.
S4
Building Insights → Proposed (3 exclusive items only). Move Year Built, Fiber, Package Room to Key Details. The "Only on Nabe" claim needs to be honest to be valuable.
S5
Bottom Bar → Keep current (py-2 rounded-md) OR update DESIGN_STANDARDS to allow py-2.5 rounded-lg for listing-detail-class screens. Don't silently keep py-3 rounded-xl without documenting the exception.