Back to Projects

Personal

Property Pulse

May 25, 2026

View Live Site →
Property Pulse project screenshot

Property Pulse is a rental marketplace where people looking for a place to stay and people who have a place to rent meet in one app. The home page opens with a search for location and property type, then highlights featured listings and a recent set of properties. Renters can browse apartments, studios, condos, houses, cabins, lofts, rooms, and other types, and open any listing for the full picture: description, beds, baths, square footage, amenities, and nightly, weekly, and monthly rates.

Each property page shows a photo gallery, a map of the address, and a way to share the listing. Signed-in renters can bookmark properties they want to come back to, then review those saved listings in one place. They can also send the owner a message from the listing, so interest does not stay stuck on a public page.

Owners sign in with Google and manage their own listings from a profile. They can add a property with photos, rates, amenities, and contact details, then edit or delete it later. New listings are stored with the owner, so the profile only shows properties that person created. Featured listings are called out separately on the home page.

Messages sit between the two sides. An owner receives inquiries tied to a specific property, sees how many are unread, and can mark them read or delete them. The app is built with Next.js and React, stores users, properties, and messages in MongoDB, handles sign-in with NextAuth and Google, and uses Cloudinary for images plus Mapbox and geocoding for location.

Skills & Technologies

  • Next.js
  • React
  • JavaScript
  • Tailwind CSS
  • MongoDB
  • Mongoose
  • NextAuth
  • Google OAuth
  • Cloudinary
  • Mapbox GL
  • react-map-gl
  • Google Geocoding
  • PhotoSwipe
  • React Toastify
  • React Icons
  • React Share
  • React Spinners
  • App Router
  • Server Components
  • Client Components
  • Server Actions
  • Route Handlers
  • dynamic routes
  • route protection
  • CRUD
  • data modeling
  • pagination
  • search and filtering
  • image uploads
  • maps and geocoding
  • React Context
  • bookmarks
  • messaging
  • form handling
  • cache revalidation