Appearance
F-028: Walkability & Transit Scores Display
Status: Done · Priority: P2 · Updated: Mar 6, 2026
Summary
All 76 neighborhoods have walkability_score and transit_score populated in the database but the data is never shown in the UI. Surface these scores as badges on neighborhood detail pages and listing cards.
Requirements
- [x] Score badges on neighborhood detail page (walkability + transit) — already existed
- [x] Score indicators on listing cards (from listing's neighborhood)
- [x] Score display on listing detail page
- [x] Color-coded: green (70+), yellow (50-69), dim (<50)
- [x] Bilingual labels (FR/EN)
- [ ] Optional: filter/sort by walkability or transit score on browse page
Design
Score Badge Component
Reusable ScoreBadge component with icon, label, and color coding:
- Walk icon + "Walkability: 85" (green)
- Transit icon + "Transit: 55" (yellow)
Integration Points
- Neighborhood detail page — prominent badges in hero/stats section
- Listing cards — small inline scores
- Listing detail page — in location/neighborhood section
Discussion Notes
Mar 6, 2026 — Created. Data fully populated for all 76 neighborhoods. XS effort — pure UI work on existing data.
Implementation Notes
Changes Made
- API (
services/api/src/routes/listings.ts): AddedwalkabilityScoreandtransitScoreto browse, detail, and similar listing queries (neighborhoods table already joined) - Types (
services/web/lib/api.ts): Added fields toListingSummaryinterface - Listing card (
services/web/components/listings/listing-card.tsx): Small color-coded badges with Footprints/Bus icons in metadata row - Listing detail (
services/web/components/listings/listing-detail.tsx): Larger badges in location section with labels - Translations: Added
walkability/transitScorekeys todetailnamespace (EN + FR)
Color Coding
- Walk scores: green (70+), amber (50-69), muted (<50)
- Transit scores: blue (70+), amber (50-69), muted (<50)
- Using distinct colors (green vs blue) to differentiate the two score types