All Projects
Case StudyRole: Full-Stack EngineerTimeline: 2 Months

Real Estate Property Platform with CRM Tools

The Ogorich Properties Real Estate Platform is a digital solution designed to enhance the company's online presence and streamline its real estate operations. The platform showcases residential and commercial properties, supports property sales and rentals, and integrates customer relationship management (CRM) tools to organize client inquiries, manage leads, and improve customer engagement. It also establishes a stronger digital footprint for the brand, improving its visibility and accessibility to prospective clients and investors. By combining property discovery, digital branding, and client management in one platform, the project aims to improve operational efficiency, strengthen client relationships, and support sustainable business growth.

#Next.js#TypeScript#Tailwind CSS#PostgreSQL#Prisma ORM#Auth.js#Resend#Zustand#Cloudinary
Real Estate Property Platform with CRM Tools screenshot slide 1
Click to open fullscreen lightbox
1 / 5

Click any preview to inspect in high resolution.

The Challenge

Problem & Goals

1. Serverless Payload Limits vs. High-Fidelity Luxury Media: Prime real estate listings require high-resolution 4K photography, with files reaching up to 20MB, and cinematic video tours of up to 100MB. However, deploying on serverless infrastructure such as Vercel with Next.js introduces a 4.5MB request body limit on API route handlers. This creates significant bottlenecks, including payload rejection, request timeouts, memory spikes, and media upload failures.

2. Non-Blocking Telemetry and Real-Time Digital Footprint Tracking: Capturing high-intent investor engagement signals, including WhatsApp inquiries, direct phone calls, seven-channel social media shares, and property views across Lagos, Abuja, London, Dubai, and New York, presents a technical challenge. Tracking these interactions without interrupting page transitions or degrading Core Web Vitals metrics, particularly Interaction to Next Paint (INP) and Largest Contentful Paint (LCP), requires a reliable and non-blocking data collection mechanism. External redirects also introduce the risk of losing conversion events before they are recorded.

3. Database Connection Saturation and Persistence Fault Tolerance: Sudden increases in visitor traffic, combined with serverless function cold starts, create a risk of exhausting PostgreSQL connection pools when querying through Prisma ORM. These conditions can lead to connection saturation, transient database failures, delayed queries, and HTTP 500 errors, potentially disrupting access to public property listings and reducing platform reliability.

4. High-Security Multi-Factor Authentication in a Serverless Runtime: Administrative interfaces manage confidential high-value property inventory and investor contact records, making them potential targets for brute-force attacks, credential theft, and unauthorized access. Implementing robust authentication in a stateless serverless environment introduces additional challenges around secure session management, multi-factor authentication, rate limiting, account lockout, CSRF protection, and maintaining reliable audit trails across administrative activities.

5. Dynamic Multi-Currency Indexing and Real-Time Multi-Facet Search: Managing local and international property listings requires efficient filtering across multiple criteria, including property type, sale or rental category, number of bedrooms, amenities, geographical location, and price ranges in NGN, USD, GBP, EUR, and AED. Processing these filters without introducing search latency or excessive client-side computation is a significant architectural challenge. Additionally, maintaining accurate publication states is essential to prevent draft or unverified listings from appearing in public search results or being exposed through SEO metadata.

The Solution

Approach & Implementation

1. Serverless Payload Limits vs. High-Fidelity Luxury Media: Implemented a Node.js multipart streaming pipeline integrated with the Cloudinary SDK to transfer large media files directly to cloud storage without buffering entire files in serverless memory. Automated progressive WebP/AVIF image generation and adaptive bitrate video transcoding were configured to optimize media delivery, reduce bandwidth consumption, and improve gallery loading performance.

2. Non-Blocking Telemetry and Real-Time Digital Footprint Tracking: Implemented client-side, non-blocking telemetry using the navigator.sendBeacon API, with fetch and keepalive fallbacks to preserve engagement events during navigation and external redirects. Designed a dual-layer analytics architecture that combines atomic counters on property records for fast administrative metrics with an append-only analytics event log for calculating composite virality and digital footprint scores on a scale of 0–100. This architecture also supports geographical attribution across key property markets.

3. Database Connection Saturation and Persistence Fault Tolerance: Configured Prisma ORM with the @prisma/adapter-pg PostgreSQL adapter and disciplined connection pooling to manage database connections efficiently in a serverless environment. Implemented a dual-layer data repository with an in-memory fallback mechanism to maintain read availability during temporary database connection failures or network interruptions, while supporting the synchronization of non-critical writes when connectivity is restored.

4. High-Security Multi-Factor Authentication in a Serverless Runtime: Designed a layered security architecture using NextAuth v5 (Auth.js) and Argon2id password hashing. Implemented dual-mode two-factor authentication supporting RFC 6238 TOTP authenticator applications and email-based one-time passwords. Additional security controls include IP-based sliding-window rate limiting, origin validation, CSRF protection, automated account lockout, and immutable audit logging to track administrative actions and support security investigations.

5. Dynamic Multi-Currency Indexing and Real-Time Multi-Facet Search: Designed composite database indexes across listing status, property types, listing categories, geographical areas, and price-related fields to optimize filtering and retrieval. Integrated Zustand for client-side search-state management and memoization to improve filter responsiveness. Enforced publication-state validation at the data-access layer to ensure that draft and unverified properties remain excluded from public search results and SEO metadata, while supporting property discovery across NGN, USD, GBP, EUR, and AED markets.

Technical Architecture

Core Architecture & Highlights

Full-stack NextJS 16 & React 16 Topology

Resilient Dual-Layer Data Architecture

Defense-In-Depth Security & Enterprise RBAC

Non-blocking Digital Footprint & Conversion Analytics

Direct Media Streaming Pipeline

High-conversion Real Estate Discovery Engine