PadPair — a Nigeria-focused housing and roommate-matching platform. Browse verified listings, get matched with compatible roommates through a tiered algorithm, and chat in real time. Built with React, React Router, Context API, and Tailwind CSS v4.
# 🏠 PadPair
A trust-first housing and roommate-matching platform built for the Nigerian market. PadPair combines verified-feeling property listings with intelligent, tiered roommate matching — helping users find not just a place to live, but someone compatible to share it with.
---
## 🛠️ Technologies Used
* **React (ES6+):** Component-based UI architecture, declarative state management, and JSX markup.
* **React Router (v7):** Client-side routing with dynamic URL parameters (`useParams`) and programmatic navigation (`useNavigate`).
* **React Context API:** Centralized, app-wide shared state (`createContext`, `useContext`) for listings, user sessions, roommate profiles, and messages — eliminating prop-drilling across unrelated components.
* **Tailwind CSS (v4):** Utility-first CSS framework, with a locked design token system (`@theme`) for brand colors, typography, and spacing, plus reusable component classes via `@layer components`.
* **Vite:** Build tooling and dev server with instant hot-module reload.
* **JavaScript (ES6+):** Immutable array/object operations, higher-order functions (`map`, `filter`, `find`, `some`, `sort`, `reduce`), and the Web Storage API (`localStorage`) for session persistence.
---
## ✨ Features
* **Listings Marketplace:** Browse, search, and filter apartment listings by location, room type, and price range — all combined and live-updating as you type.
* **Listing Detail Pages:** Full property view with image gallery, description, pricing, and landlord contact info, resolved dynamically from the URL.
* **Create Listing:** A full form flow for landlords to publish new listings, which appear instantly across the app via shared state — no reload required.
* **Tiered Roommate Matching:** A three-tier matching algorithm that prioritizes users interested in the *same listing*, then users in the *same location*, and falls back to a computed lifestyle-compatibility score (cleanliness, sleep schedule, social level).
* **Scam Detection:** Listin …