Rental marketplace · Pakistan · Website, Next.js

Rehnaa

Rehnaa, formerly SAWAAR, is a rental marketplace for Pakistan. Tenants search rooms, hostels, houses, apartments, shops and offices on a map and chat directly with verified landlords; landlords post and manage listings. I built rehnaa.pk, the web version of the mobile app, on the same Express and MongoDB API that serves the app and the admin panel.

Live site

Web routes
20
Playwright tests
174
Stack
Next.js 15 · React 19 · TypeScript · Tailwind CSS 4 · Clerk · Socket.IO · OpenStreetMap · Playwright
Platform
Expo mobile app · Next.js admin panel · Express + MongoDB API

One API, three clients

platformthree clients, one API
Website (Next.js)
Mobile app (Expo)
Admin panel (Next.js)
Express API · JWT and Clerk auth · Socket.IO
MongoDB
Cloudinary media

What I built

Every app screen, on the web

20 routes that mirror the mobile app for tenants and landlords: home feed, search, property details, messages, profile, landlord dashboard, listings and inquiries.

Map search

Filters, sorting, list and map views, and a full-screen OpenStreetMap search with a 5–50 km radius slider and "search this area".

Landlord tools

A 4-step listing wizard with drafts saved locally, a dashboard with 7-day, 30-day and all-time overviews, inquiries, and tenant matches with a match score and reasons.

Real-time chat

Socket.IO conversations between tenants and landlords. On phones a chat opens full screen with a back arrow, like the app.

Sign-in and roles

Email or phone login with OTP password reset, Google sign-in through Clerk, and roles that send tenants to the home feed and landlords to their dashboard.

Phone-first layout

Below 1024 px the site switches to the mobile app's layout, bottom tab bar included.

Tested end to end

174 Playwright tests across desktop, mobile and responsive runs, plus a demo mode that runs the whole site on fixtures with no network.

Rebrand

Moved the product from SAWAAR to Rehnaa: new logo system drawn in code, app icons and link-preview card.

Connected to

Express + MongoDB API · Clerk · Socket.IO · Cloudinary · OpenStreetMap