As students from rural Uganda and Nepal, we hit the same barriers: “no credit,” confusing leases, hidden fees, and apartments that looked great online but failed basic accessibility. We built a copilot that centers inclusion and explains why a place fits.

What it does

D&I Score for each listing across 5 pillars: Affordability, Accessibility, Safety, Commute, Inclusivity (intl-friendly policies).

Explainability: “Why this score?” breakdown + accessibility checklist (ramp/elevator/doorway width/parking/bathroom).

Lease QA: upload PDF/DOCX/TXT → Gemini summarizes key terms, flags junk fees & risks (non-legal), and drafts polite landlord questions.

Map & results: color-blind-safe markers, subscore chips, favorites & compare drawer.

Multilingual microcopy (EN + early Nepali/Luganda) and WCAG 2.2 AA UX.

How we built it

Frontend: Next.js (App Router) + TypeScript, Tailwind + shadcn/ui, lucide-react, React-Leaflet (Mapbox/OSM), Recharts.

AI: Google Gemini 1.5 for structured lease analysis (mock fallback when API key is missing).

Scoring: deterministic weighted formula 0.35 Affordability + 0.20 Accessibility + 0.20 Safety + 0.15 Commute + 0.10 Inclusivity, with rationales and mild penalties for unknown fields.

Data: Databricks provider when configured; local CSV fallback so the app never shows “0 results.” Filter-relaxation prevents dead-ends.

A11y: skip links, keyboard-first flows, visible focus rings, motion-safe animations, high contrast, and dual encoding (color + icon + text).

Challenges we ran into

Extracting clean text from messy PDF/DOCX and getting LLM outputs into strict, auditable sections.

Many listings lack accessibility data—designing honest defaults and UI that shows “unknown” without hiding gaps.

Keeping map markers keyboard-navigable and color-blind-safe.

Shipping a polished UI within hackathon time while meeting AA contrast and reduced-motion prefs.

Accomplishments we’re proud of

A transparent, explainable D&I score students can trust.

Lease upload → structured QA with red-flag detection and landlord question templates.

A vibrant, color-blind-safe UI that still feels fun.

A resilient data layer (Databricks when available; reliable local fallback when not).

What we learned

Inclusion isn’t a filter—it has to be the objective function.

Prompting for structured JSON + validations beats generic summaries.

Accessibility shifts design decisions early: layout, copy, and even how we encode scores.

What’s next

University & property-manager data partnerships to enrich accessibility fields.

More languages (Arabic, Hindi, Swahili), currency support, SSN-free onboarding tips.

Routine fairness audits and “evidence cards” that cite which fields drive each recommendation.

Mobile-first PWA and saved searches/alerts.

Built With

  • databricks
  • google-gemini
  • lucide-react
  • nextjs
  • react-leaflet
  • recharts
  • shadcn/ui
  • tailwindcss
  • typescript
Share this project:

Updates

Submission history