Skip to contentOlism
All projects

/ projects / bhalobasha

Bhalobasha

In Development

Full-Stack Application · July 2026 - Present

Bhalobasha (ভালোবাসা — 'good home' in Bangla) is a full-stack rental marketplace that removes brokers from the rental process in Bangladesh. Owners post listings in under 3 minutes from any browser. Seekers filter by tenant policy (bachelor/family/student), location hierarchy, rent range, and furnished status — and never visit a flat that would have rejected them. The platform also supports competitive bidding on high-demand listings, Cloudinary-backed photo uploads, and role-based dashboards for seekers, owners, and admins.

Stack

  • NestJS
  • Next.js 14
  • PostgreSQL
  • Prisma
  • TypeScript
  • TanStack Query
  • Zustand
  • Tailwind CSS
  • Cloudinary
  • Railway
  • Vercel

Problems

  • Bachelors wasting hours traveling to flats that would always reject them — solved by making tenant policy (Bachelor/Family/Student/Any) a required, filterable field on every listing.
  • Owners still relying on hand-written paper ads and word-of-mouth — solved with a 3-step listing flow completable in under 3 minutes from any phone browser.
  • Brokers adding cost and opacity between owners and renters — solved with direct contact via phone reveal and pre-filled WhatsApp deep-link after login.
  • High-demand listings attracting 10+ unstructured WhatsApp messages — solved with a competitive bidding system where owners accept one bid and all others are auto-rejected.
  • Stale listings breaking trust on classifieds platforms — solved with 30-day auto-expiry and one-tap renewal.

Architecture

  • NestJS REST API (/api/v1) deployed on Railway with modular architecture — AuthModule, ListingsModule, BidsModule, FavoritesModule, LocationsModule, MediaModule.
  • PostgreSQL database managed via Prisma with a full Bangladesh location hierarchy (Division → District → Thana → Area) seeded from custom JSON files — no external package dependency.
  • Next.js 14 App Router frontend on Vercel with server components for SEO-critical listing pages and client components for interactive features.
  • Auth via phone/email OTP with JWT stored in httpOnly cookies — middleware protects dashboard routes server-side before render, SessionProvider restores Zustand state client-side.
  • Cloudinary for listing and profile photo storage with CDN delivery and auto-compression.

Key features

  • Tenant policy filtering (Bachelor/Family/Student/Any) as a required enum — shown on every listing card, filterable from search.
  • Competitive bidding system — owners set minimum bid and deadline; accepting one bid auto-rejects all others and marks the listing as filled in a single DB transaction.
  • 10-second undo on bid withdrawal with reactivate support.
  • 3-step guided listing creation with drag-and-drop photo upload (up to 8 photos) and map-based property pin using OpenStreetMap + Leaflet.
  • Save / favorite listings with optimistic UI — heart icon on cards, saved listings dashboard page.
  • Open Graph metadata per listing for rich WhatsApp and LinkedIn sharing previews.
  • Demo login for recruiters — one-click access as Seeker, Owner, or Admin without OTP.
  • Role-based dashboards: owners manage listings, bids, and photos; seekers track bids and saved listings; admins have full platform access.
  • Bangladesh location hierarchy seeded from own JSON data files across 8 divisions, 64 districts, and major thanas and areas.